Make Storage class completely stateless
The old style ArrayHandle
stored most of its state, including the
data, in the vtkm::cont::internal::Storage
object (templated to the
type of array). The new style of ArrayHandle
stores the data itself in
Buffer
objects, and recent changes to Buffer
allow metadata to be
stored there, too.
These changes make it pretty unnecessary to hold any state at all in the
Storage
object. This is good since the sharing of state from one type
of ArrayHandle
to another (such as by transforming the data), can be
done by just sharing the Buffer
objects.
To reinforce this behavior, the Storage
object has been changed to
make it completely stateless. All the methods of Storage
must be
marked as static
.