Go to the documentation of this file.
10 #ifndef vtk_m_exec_arg_FetchTagArrayDirectIn_h
11 #define vtk_m_exec_arg_FetchTagArrayDirectIn_h
35 template <
typename T,
typename U>
42 template <
typename T,
typename U>
48 template <
typename ExecObjectType>
54 using ET =
typename std::remove_const<typename std::remove_pointer<ExecObjectType>::type>::type;
56 typename std::conditional<std::is_pointer<ExecObjectType>::value,
const ET*,
const ET&>::type;
61 template <
typename ThreadIndicesType>
64 return load<ValueType>(arrayPortal, indices.GetInputIndex());
67 template <
typename ThreadIndicesType>
77 #endif //vtk_m_exec_arg_FetchTagArrayDirectIn_h
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
Class for loading and storing values in thread instance.
Definition: Fetch.h:49
vtkm::Int32 Id
Represents an ID (index into arrays).
Definition: Types.h:191
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC T load(const U &u, vtkm::Id v)
Definition: FetchTagArrayDirectIn.h:36
typename std::conditional< std::is_pointer< ExecObjectType >::value, const ET *, const ET & >::type PortalType
Definition: FetchTagArrayDirectIn.h:56
Fetch tag for getting array values with direct indexing.
Definition: FetchTagArrayDirectIn.h:29
VTKM_SUPPRESS_EXEC_WARNINGS VTKM_EXEC ValueType Load(const ThreadIndicesType &indices, PortalType arrayPortal) const
Definition: FetchTagArrayDirectIn.h:62
typename ET::ValueType ValueType
Definition: FetchTagArrayDirectIn.h:58
VTKM_EXEC void Store(const ThreadIndicesType &, PortalType, const ValueType &) const
Definition: FetchTagArrayDirectIn.h:68
Aspect tag to use for default load/store of data.
Definition: AspectTagDefault.h:22
typename std::remove_const< typename std::remove_pointer< ExecObjectType >::type >::type ET
Definition: FetchTagArrayDirectIn.h:54
#define VTKM_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:53