VTK-m  2.0
Classes | Namespaces | Macros | Functions
ArrayHandleSOA.h File Reference
#include <vtkm/cont/ArrayExtractComponent.h>
#include <vtkm/cont/ArrayHandle.h>
#include <vtkm/Math.h>
#include <vtkm/VecTraits.h>
#include <vtkm/internal/ArrayPortalBasic.h>
#include <vtkm/internal/ArrayPortalHelpers.h>
#include <vtkmstd/integer_sequence.h>
#include <array>
#include <limits>
#include <type_traits>

Go to the source code of this file.

Classes

struct  vtkm::cont::StorageTagSOA
 
class  vtkm::cont::ArrayHandleSOA< T >
 An ArrayHandle that for Vecs stores each component in a separate physical array. More...
 

Namespaces

 vtkm
 Groups connected points that have the same field value.
 
 vtkm::cont
 VTK-m Control Environment.
 

Macros

#define VTKM_ARRAYHANDLE_SOA_EXPORT(Type)
 

Functions

template<typename ValueType >
VTKM_CONT ArrayHandleSOA< ValueType > vtkm::cont::make_ArrayHandleSOA (std::initializer_list< vtkm::cont::ArrayHandle< typename vtkm::VecTraits< ValueType >::ComponentType, vtkm::cont::StorageTagBasic >> &&componentArrays)
 
template<typename ComponentType , typename... RemainingArrays>
VTKM_CONT ArrayHandleSOA< vtkm::Vec< ComponentType, vtkm::IdComponent(sizeof...(RemainingArrays)+1)> > vtkm::cont::make_ArrayHandleSOA (const vtkm::cont::ArrayHandle< ComponentType, vtkm::cont::StorageTagBasic > &componentArray0, const RemainingArrays &... componentArrays)
 
template<typename ValueType >
VTKM_CONT ArrayHandleSOA< ValueType > vtkm::cont::make_ArrayHandleSOA (std::initializer_list< std::vector< typename vtkm::VecTraits< ValueType >::ComponentType >> &&componentVectors)
 
template<typename ComponentType , typename... RemainingVectors>
VTKM_CONT ArrayHandleSOA< vtkm::Vec< ComponentType, vtkm::IdComponent(sizeof...(RemainingVectors)+1)> > vtkm::cont::make_ArrayHandleSOA (vtkm::CopyFlag copy, const std::vector< ComponentType > &vector0, RemainingVectors &&... componentVectors)
 
template<typename ComponentType , typename... RemainingVectors>
VTKM_CONT ArrayHandleSOA< vtkm::Vec< ComponentType, vtkm::IdComponent(sizeof...(RemainingVectors)+1)> > vtkm::cont::make_ArrayHandleSOA (vtkm::CopyFlag copy, std::vector< ComponentType > &&vector0, RemainingVectors &&... componentVectors)
 
template<typename ComponentType , typename... RemainingVectors>
VTKM_CONT ArrayHandleSOA< vtkm::Vec< ComponentType, vtkm::IdComponent(sizeof...(RemainingVectors)+1)> > vtkm::cont::make_ArrayHandleSOAMove (std::vector< ComponentType > &&vector0, RemainingVectors &&... componentVectors)
 
template<typename ValueType >
VTKM_CONT ArrayHandleSOA< ValueType > vtkm::cont::make_ArrayHandleSOA (std::initializer_list< const typename vtkm::VecTraits< ValueType >::ComponentType * > &&componentVectors, vtkm::Id length, vtkm::CopyFlag copy)
 
template<typename ComponentType , typename... RemainingArrays>
VTKM_CONT ArrayHandleSOA< vtkm::Vec< ComponentType, vtkm::IdComponent(sizeof...(RemainingArrays)+1)> > vtkm::cont::make_ArrayHandleSOA (vtkm::Id length, vtkm::CopyFlag copy, const ComponentType *array0, const RemainingArrays *... componentArrays)
 

Macro Definition Documentation

◆ VTKM_ARRAYHANDLE_SOA_EXPORT

#define VTKM_ARRAYHANDLE_SOA_EXPORT (   Type)
Value:
extern template class VTKM_CONT_TEMPLATE_EXPORT ArrayHandle<vtkm::Vec<Type, 2>, StorageTagSOA>; \
extern template class VTKM_CONT_TEMPLATE_EXPORT ArrayHandle<vtkm::Vec<Type, 3>, StorageTagSOA>; \
extern template class VTKM_CONT_TEMPLATE_EXPORT ArrayHandle<vtkm::Vec<Type, 4>, StorageTagSOA>;