Go to the documentation of this file.
10 #ifndef vtk_m_exec_arg_FetchTagArrayDirectOut_h
11 #define vtk_m_exec_arg_FetchTagArrayDirectOut_h
16 #include <type_traits>
35 template <
typename ExecObjectType>
40 using ValueType =
typename ExecObjectType::ValueType;
43 template <
typename ThreadIndicesType>
45 const ExecObjectType& arrayPortal)
const
48 indices, arrayPortal,
typename std::is_default_constructible<ValueType>::type{});
52 template <
typename ThreadIndicesType,
typename T>
54 const ExecObjectType& arrayPortal,
57 arrayPortal.Set(indices.GetOutputIndex(),
static_cast<ValueType>(value));
62 template <
typename ThreadIndicesType>
70 template <
typename ThreadIndicesType>
72 const ExecObjectType& arrayPortal,
73 std::false_type)
const
81 return arrayPortal.Get(indices.GetOutputIndex());
88 #endif //vtk_m_exec_arg_FetchTagArrayDirectOut_h
#define VTKM_EXEC
Definition: ExportMacros.h:51
Groups connected points that have the same field value.
Definition: Atomic.h:19
Fetch tag for setting array values with direct indexing.
Definition: FetchTagArrayDirectOut.h:31
ValueType DoLoad(const ThreadIndicesType &, const ExecObjectType &, std::true_type) const
Definition: FetchTagArrayDirectOut.h:63
typename ExecObjectType::ValueType ValueType
The type of value to load and store.
Definition: Fetch.h:58
Class for loading and storing values in thread instance.
Definition: Fetch.h:49
typename ExecObjectType::ValueType ValueType
Definition: FetchTagArrayDirectOut.h:40
ValueType Load(const ThreadIndicesType &indices, const ExecObjectType &arrayPortal) const
Definition: FetchTagArrayDirectOut.h:44
Aspect tag to use for default load/store of data.
Definition: AspectTagDefault.h:22
ValueType DoLoad(const ThreadIndicesType &indices, const ExecObjectType &arrayPortal, std::false_type) const
Definition: FetchTagArrayDirectOut.h:71
void Store(const ThreadIndicesType &indices, const ExecObjectType &arrayPortal, const T &value) const
Definition: FetchTagArrayDirectOut.h:53
#define VTKM_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:53