VTK-m  2.2
Public Types | Public Member Functions | List of all members
vtkm::cont::ArrayHandleCompositeVector< ArrayTs > Class Template Reference

An ArrayHandle that combines components from other arrays. More...

#include <ArrayHandleCompositeVector.h>

Inheritance diagram for vtkm::cont::ArrayHandleCompositeVector< ArrayTs >:
vtkm::cont::ArrayHandle< internal::CompositeVectorTraits< ArrayTs... >::ValueType, internal::CompositeVectorTraits< ArrayTs... >::StorageTag >

Public Types

using Thisclass = typename vtkm::cont::detail::GetTypeInParentheses< void(ArrayHandleCompositeVector< ArrayTs... >) >::type
 
using Superclass = typename vtkm::cont::detail::GetTypeInParentheses< void(typename internal::CompositeVectorTraits< ArrayTs... >::Superclass) >::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
 

Public Member Functions

 ArrayHandleCompositeVector ()
 
VTKM_CONT ArrayHandleCompositeVector (const Thisclass &src)
 
VTKM_CONT ArrayHandleCompositeVector (Thisclass &&src) noexcept
 
VTKM_CONT ArrayHandleCompositeVector (const vtkm::cont::ArrayHandle< typename Superclass::ValueType, typename Superclass::StorageTag > &src)
 
VTKM_CONT ArrayHandleCompositeVector (vtkm::cont::ArrayHandle< typename Superclass::ValueType, typename Superclass::StorageTag > &&src) noexcept
 
VTKM_CONT ArrayHandleCompositeVector (const std::vector< vtkm::cont::internal::Buffer > &buffers)
 
VTKM_CONT ArrayHandleCompositeVector (std::vector< vtkm::cont::internal::Buffer > &&buffers) noexcept
 
VTKM_CONT Thisclassoperator= (const Thisclass &src)
 
VTKM_CONT Thisclassoperator= (Thisclass &&src) noexcept
 
 ArrayHandleCompositeVector (const ArrayTs &... arrays)
 Construct an ArrayHandleCompositeVector from a set of component vectors. More...
 
vtkm::Tuple< ArrayTs... > GetArrayTuple () const
 Return the arrays of all of the components in a vtkm::Tuple object. More...
 

Detailed Description

template<typename... ArrayTs>
class vtkm::cont::ArrayHandleCompositeVector< ArrayTs >

An ArrayHandle that combines components from other arrays.

ArrayHandleCompositeVector is a specialization of ArrayHandle that derives its content from other arrays. It takes any number of single-component ArrayHandle objects and mimics an array that contains vectors with components that come from these delegate arrays.

The easiest way to create and type an ArrayHandleCompositeVector is to use the make_ArrayHandleCompositeVector functions.

The ArrayHandleExtractComponent class may be helpful when a desired component is part of an ArrayHandle with a vtkm::Vec ValueType.

If you are attempted to combine components that you know are stored in basic ArrayHandles, consider using ArrayHandleSOA instead.

Member Typedef Documentation

◆ ReadPortalType

template<typename... ArrayTs>
using vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::ReadPortalType = typename Superclass::ReadPortalType

◆ StorageTag

template<typename... ArrayTs>
using vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::StorageTag = typename Superclass::StorageTag

◆ StorageType

template<typename... ArrayTs>
using vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::StorageType = typename Superclass::StorageType

◆ Superclass

template<typename... ArrayTs>
using vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::Superclass = typename vtkm::cont::detail::GetTypeInParentheses<void (typename internal::CompositeVectorTraits<ArrayTs...>::Superclass) >::type

◆ Thisclass

template<typename... ArrayTs>
using vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::Thisclass = typename vtkm::cont::detail::GetTypeInParentheses<void (ArrayHandleCompositeVector<ArrayTs...>) >::type

◆ ValueType

template<typename... ArrayTs>
using vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::ValueType = typename Superclass::ValueType

◆ WritePortalType

template<typename... ArrayTs>
using vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::WritePortalType = typename Superclass::WritePortalType

Constructor & Destructor Documentation

◆ ArrayHandleCompositeVector() [1/8]

template<typename... ArrayTs>
vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::ArrayHandleCompositeVector ( )
inline

◆ ArrayHandleCompositeVector() [2/8]

template<typename... ArrayTs>
VTKM_CONT vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::ArrayHandleCompositeVector ( const Thisclass src)
inline

◆ ArrayHandleCompositeVector() [3/8]

template<typename... ArrayTs>
VTKM_CONT vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::ArrayHandleCompositeVector ( Thisclass &&  src)
inlinenoexcept

◆ ArrayHandleCompositeVector() [4/8]

template<typename... ArrayTs>
VTKM_CONT vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::ArrayHandleCompositeVector ( const vtkm::cont::ArrayHandle< typename Superclass::ValueType, typename Superclass::StorageTag > &  src)
inline

◆ ArrayHandleCompositeVector() [5/8]

template<typename... ArrayTs>
VTKM_CONT vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::ArrayHandleCompositeVector ( vtkm::cont::ArrayHandle< typename Superclass::ValueType, typename Superclass::StorageTag > &&  src)
inlinenoexcept

◆ ArrayHandleCompositeVector() [6/8]

template<typename... ArrayTs>
VTKM_CONT vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::ArrayHandleCompositeVector ( const std::vector< vtkm::cont::internal::Buffer > &  buffers)
inlineexplicit

◆ ArrayHandleCompositeVector() [7/8]

template<typename... ArrayTs>
VTKM_CONT vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::ArrayHandleCompositeVector ( std::vector< vtkm::cont::internal::Buffer > &&  buffers)
inlineexplicitnoexcept

◆ ArrayHandleCompositeVector() [8/8]

template<typename... ArrayTs>
vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::ArrayHandleCompositeVector ( const ArrayTs &...  arrays)
inline

Construct an ArrayHandleCompositeVector from a set of component vectors.

Member Function Documentation

◆ GetArrayTuple()

template<typename... ArrayTs>
vtkm::Tuple<ArrayTs...> vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::GetArrayTuple ( ) const
inline

Return the arrays of all of the components in a vtkm::Tuple object.

◆ operator=() [1/2]

template<typename... ArrayTs>
VTKM_CONT Thisclass& vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::operator= ( const Thisclass src)
inline

◆ operator=() [2/2]

template<typename... ArrayTs>
VTKM_CONT Thisclass& vtkm::cont::ArrayHandleCompositeVector< ArrayTs >::operator= ( Thisclass &&  src)
inlinenoexcept

The documentation for this class was generated from the following file: