VTK-m
2.1
|
A grouping of ArrayHandleStride
s into an ArrayHandle
of Vec
s.
More...
#include <ArrayHandleRecombineVec.h>
Public Types | |
using | Thisclass = typename vtkm::cont::detail::GetTypeInParentheses< void(ArrayHandleRecombineVec< ComponentType >) >::type |
using | Superclass = typename vtkm::cont::detail::GetTypeInParentheses< void(vtkm::cont::ArrayHandle< internal::detail::RecombinedValueType< ComponentType >, vtkm::cont::internal::StorageTagRecombineVec >) >::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 |
A grouping of ArrayHandleStride
s into an ArrayHandle
of Vec
s.
The main intention of ArrayHandleStride
is to pull out a component of an ArrayHandle
without knowing there ArrayHandle
's storage or Vec
shape. However, usually you want to do an operation on all the components together. ArrayHandleRecombineVec
implements the functionality to easily take a group of extracted components and treat them as a single ArrayHandle
of Vec
values.
Note that caution should be used with ArrayHandleRecombineVec
because the size of the Vec
values is not known at compile time. Thus, the value type of this array is forced to a special RecombineVec
class that can cause surprises if treated as a Vec
. In particular, the static NUM_COMPONENTS
expression does not exist. Furthermore, new variables of type RecombineVec
cannot be created. This means that simple operators like +
will not work because they require an intermediate object to be created. (Equal operators like +=
do work because they are given an existing variable to place the output.)
using vtkm::cont::ArrayHandleRecombineVec< ComponentType >::ReadPortalType = typename Superclass::ReadPortalType |
using vtkm::cont::ArrayHandleRecombineVec< ComponentType >::StorageTag = typename Superclass::StorageTag |
using vtkm::cont::ArrayHandleRecombineVec< ComponentType >::StorageType = typename Superclass::StorageType |
using vtkm::cont::ArrayHandleRecombineVec< ComponentType >::Superclass = typename vtkm::cont::detail::GetTypeInParentheses<void (vtkm::cont::ArrayHandle<internal::detail::RecombinedValueType<ComponentType>, vtkm::cont::internal::StorageTagRecombineVec>) >::type |
using vtkm::cont::ArrayHandleRecombineVec< ComponentType >::Thisclass = typename vtkm::cont::detail::GetTypeInParentheses<void (ArrayHandleRecombineVec<ComponentType>) >::type |
using vtkm::cont::ArrayHandleRecombineVec< ComponentType >::ValueType = typename Superclass::ValueType |
using vtkm::cont::ArrayHandleRecombineVec< ComponentType >::WritePortalType = typename Superclass::WritePortalType |
|
inline |
|
inline |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlineexplicit |
|
inlineexplicitnoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |