| 
| using  | Thisclass = typename vtkm::cont::detail::GetTypeInParentheses< void(ArrayHandleGroupVec< ComponentsArrayHandleType, NUM_COMPONENTS >) >::type | 
|   | 
| using  | Superclass = typename vtkm::cont::detail::GetTypeInParentheses< void(vtkm::cont::ArrayHandle< vtkm::Vec< typename ComponentsArrayHandleType::ValueType, NUM_COMPONENTS >, vtkm::cont::StorageTagGroupVec< typename ComponentsArrayHandleType::StorageTag, NUM_COMPONENTS > >) >::type | 
|   | 
| using  | ValueType = typename Superclass::ValueType | 
|   | 
| using  | StorageTag = typename Superclass::StorageTag | 
|   | 
| using  | StorageType = typename Superclass::StorageType | 
|   | 
| using  | ReadPortalType = typename Superclass::ReadPortalType | 
|   | 
| using  | WritePortalType = typename Superclass::WritePortalType | 
|   | 
| using  | ComponentType = typename ComponentsArrayHandleType::ValueType | 
|   | 
  Public Types inherited from vtkm::cont::ArrayHandle< vtkm::Vec< ComponentsArrayHandleType::ValueType, NUM_COMPONENTS >, vtkm::cont::StorageTagGroupVec< ComponentsArrayHandleType::StorageTag, NUM_COMPONENTS > > | 
| using  | ValueType = vtkm::Vec< ComponentsArrayHandleType::ValueType, NUM_COMPONENTS > | 
|   | 
| using  | StorageTag = vtkm::cont::StorageTagGroupVec< ComponentsArrayHandleType::StorageTag, NUM_COMPONENTS > | 
|   | 
| using  | StorageType = vtkm::cont::internal::Storage< ValueType, StorageTag > | 
|   | 
| using  | ReadPortalType = typename StorageType::ReadPortalType | 
|   | The type of portal used when accessing data in a read-only mode.  More...
  | 
|   | 
| using  | WritePortalType = typename StorageType::WritePortalType | 
|   | The type of portal used when accessing data in a read-write mode.  More...
  | 
|   | 
 | 
|   | ArrayHandleGroupVec () | 
|   | 
| VTKM_CONT  | ArrayHandleGroupVec (const Thisclass &src) | 
|   | 
| VTKM_CONT  | ArrayHandleGroupVec (Thisclass &&src) noexcept | 
|   | 
| VTKM_CONT  | ArrayHandleGroupVec (const vtkm::cont::ArrayHandle< typename Superclass::ValueType, typename Superclass::StorageTag > &src) | 
|   | 
| VTKM_CONT  | ArrayHandleGroupVec (vtkm::cont::ArrayHandle< typename Superclass::ValueType, typename Superclass::StorageTag > &&src) noexcept | 
|   | 
| VTKM_CONT  | ArrayHandleGroupVec (const std::vector< vtkm::cont::internal::Buffer > &buffers) | 
|   | 
| VTKM_CONT  | ArrayHandleGroupVec (std::vector< vtkm::cont::internal::Buffer > &&buffers) noexcept | 
|   | 
| VTKM_CONT Thisclass &  | operator= (const Thisclass &src) | 
|   | 
| VTKM_CONT Thisclass &  | operator= (Thisclass &&src) noexcept | 
|   | 
|   | ArrayHandleGroupVec (const ComponentsArrayHandleType &componentsArray) | 
|   | Construct an ArrayHandleGroupVec with a provided components array.  More...
  | 
|   | 
| ComponentsArrayHandleType  | GetComponentsArray () const | 
|   | Retrieve the components array being grouped.  More...
  | 
|   | 
  Public Member Functions inherited from vtkm::cont::ArrayHandle< vtkm::Vec< ComponentsArrayHandleType::ValueType, NUM_COMPONENTS >, vtkm::cont::StorageTagGroupVec< ComponentsArrayHandleType::StorageTag, NUM_COMPONENTS > > | 
|   | ArrayHandle () | 
|   | Constructs an empty ArrayHandle.  More...
  | 
|   | 
|   | ArrayHandle (const vtkm::cont::ArrayHandle< ValueType, StorageTag > &src) | 
|   | Copy constructor.  More...
  | 
|   | 
|   | ArrayHandle (vtkm::cont::ArrayHandle< ValueType, StorageTag > &&src) noexcept | 
|   | Move constructor.  More...
  | 
|   | 
|   | ArrayHandle (const std::vector< vtkm::cont::internal::Buffer > &buffers) | 
|   | Special constructor for subclass specializations that need to set the initial state array.  More...
  | 
|   | 
|   | ArrayHandle (std::vector< vtkm::cont::internal::Buffer > &&buffers) noexcept | 
|   | Special constructor for subclass specializations that need to set the initial state array.  More...
  | 
|   | 
|   | ~ArrayHandle () | 
|   | Destructs an empty ArrayHandle.  More...
  | 
|   | 
| vtkm::cont::ArrayHandle< ValueType, StorageTag > &  | operator= (const vtkm::cont::ArrayHandle< ValueType, StorageTag > &src) | 
|   | Shallow copies an ArrayHandle.  More...
  | 
|   | 
| vtkm::cont::ArrayHandle< ValueType, StorageTag > &  | operator= (vtkm::cont::ArrayHandle< ValueType, StorageTag > &&src) noexcept | 
|   | Move and Assignment of an ArrayHandle.  More...
  | 
|   | 
| bool  | operator== (const ArrayHandle< ValueType, StorageTag > &rhs) const | 
|   | Like a pointer, two ArrayHandles are considered equal if they point to the same location in memory.  More...
  | 
|   | 
| bool  | operator== (const ArrayHandle< VT, ST > &) const | 
|   | 
| bool  | operator!= (const ArrayHandle< ValueType, StorageTag > &rhs) const | 
|   | 
| bool  | operator!= (const ArrayHandle< VT, ST > &) const | 
|   | 
| StorageType  | GetStorage () const | 
|   | Get the storage.  More...
  | 
|   | 
| ReadPortalType  | ReadPortal () const | 
|   | Get an array portal that can be used in the control environment.  More...
  | 
|   | 
| ReadPortalType  | ReadPortal (vtkm::cont::Token &token) const | 
|   | The type of portal used when accessing data in a read-only mode.  More...
  | 
|   | 
| WritePortalType  | WritePortal () const | 
|   | Get an array portal that can be used in the control environment.  More...
  | 
|   | 
| WritePortalType  | WritePortal (vtkm::cont::Token &token) const | 
|   | Get an array portal that can be used in the control environment.  More...
  | 
|   | 
| vtkm::Id  | GetNumberOfValues () const | 
|   | Returns the number of entries in the array.  More...
  | 
|   | 
| vtkm::IdComponent  | GetNumberOfComponentsFlat () const | 
|   | Returns the total number of components for each value in the array.  More...
  | 
|   | 
| void  | Allocate (vtkm::Id numberOfValues, vtkm::CopyFlag preserve, vtkm::cont::Token &token) const | 
|   | Allocates an array large enough to hold the given number of values.  More...
  | 
|   | 
| void  | Allocate (vtkm::Id numberOfValues, vtkm::CopyFlag preserve=vtkm::CopyFlag::Off) const | 
|   | Allocates an array large enough to hold the given number of values.  More...
  | 
|   | 
| void  | AllocateAndFill (vtkm::Id numberOfValues, const ValueType &fillValue, vtkm::CopyFlag preserve, vtkm::cont::Token &token) const | 
|   | Allocates an array and fills it with an initial value.  More...
  | 
|   | 
| void  | AllocateAndFill (vtkm::Id numberOfValues, const ValueType &fillValue, vtkm::CopyFlag preserve=vtkm::CopyFlag::Off) const | 
|   | Allocates an array and fills it with an initial value.  More...
  | 
|   | 
| void  | Fill (const ValueType &fillValue, vtkm::Id startIndex, vtkm::Id endIndex, vtkm::cont::Token &token) const | 
|   | Fills the array with a given value.  More...
  | 
|   | 
| void  | Fill (const ValueType &fillValue, vtkm::Id startIndex, vtkm::Id endIndex) const | 
|   | Fills the array with a given value.  More...
  | 
|   | 
| void  | Fill (const ValueType &fillValue, vtkm::Id startIndex=0) const | 
|   | Fills the array with a given value.  More...
  | 
|   | 
| void  | ReleaseResourcesExecution () const | 
|   | Releases any resources being used in the execution environment (that are not being shared by the control environment).  More...
  | 
|   | 
| void  | ReleaseResources () const | 
|   | Releases all resources in both the control and execution environments.  More...
  | 
|   | 
| ReadPortalType  | PrepareForInput (vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const | 
|   | Prepares this array to be used as an input to an operation in the execution environment.  More...
  | 
|   | 
| WritePortalType  | PrepareForInPlace (vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const | 
|   | Prepares this array to be used in an in-place operation (both as input and output) in the execution environment.  More...
  | 
|   | 
| WritePortalType  | PrepareForOutput (vtkm::Id numberOfValues, vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const | 
|   | Prepares (allocates) this array to be used as an output from an operation in the execution environment.  More...
  | 
|   | 
| bool  | IsOnDevice (vtkm::cont::DeviceAdapterId device) const | 
|   | Returns true if the ArrayHandle's data is on the given device.  More...
  | 
|   | 
| bool  | IsOnHost () const | 
|   | Returns true if the ArrayHandle's data is on the host.  More...
  | 
|   | 
| void  | SyncControlArray () const | 
|   | Synchronizes the control array with the execution array.  More...
  | 
|   | 
| void  | Enqueue (const vtkm::cont::Token &token) const | 
|   | Enqueue a token for access to this ArrayHandle.  More...
  | 
|   | 
| void  | DeepCopyFrom (const vtkm::cont::ArrayHandle< ValueType, StorageTag > &source) const | 
|   | Deep copies the data in the array.  More...
  | 
|   | 
| const std::vector< vtkm::cont::internal::Buffer > &  | GetBuffers () const | 
|   | Returns the internal Buffer structures that hold the data.  More...
  | 
|   | 
| std::vector< vtkm::cont::internal::Buffer > &  | GetBuffers () | 
|   | 
template<typename ComponentsArrayHandleType, vtkm::IdComponent NUM_COMPONENTS>
class vtkm::cont::ArrayHandleGroupVec< ComponentsArrayHandleType, NUM_COMPONENTS >
Fancy array handle that groups values into vectors. 
It is sometimes the case that an array is stored such that consecutive entries are meant to form a group. This fancy array handle takes an array of values and a size of groups and then groups the consecutive values stored in a vtkm::Vec.
For example, if you have an array handle with the six values 0,1,2,3,4,5 and give it to a ArrayHandleGroupVec with the number of components set to 3, you get an array that looks like it contains two values of vtkm::Vec of size 3 with the data [0,1,2], [3,4,5].
The array of components should have a number of values that divides evenly with the size of the vtkm::Vec. If the components array does not divide evenly into vtkm::Vecs, then a warning will be logged and the extra component values will be ignored.