Go to the documentation of this file.
18 #ifndef viskores_exec_arg_FetchTagArrayDirectOut_h
19 #define viskores_exec_arg_FetchTagArrayDirectOut_h
24 #include <type_traits>
43 template <
typename ExecObjectType>
48 using ValueType =
typename ExecObjectType::ValueType;
51 template <
typename ThreadIndicesType>
53 const ExecObjectType& arrayPortal)
const
56 indices, arrayPortal,
typename std::is_default_constructible<ValueType>::type{});
60 template <
typename ThreadIndicesType,
typename T>
62 const ExecObjectType& arrayPortal,
65 arrayPortal.Set(indices.GetOutputIndex(),
static_cast<ValueType>(value));
70 template <
typename ThreadIndicesType>
72 const ExecObjectType&,
80 template <
typename ThreadIndicesType>
82 const ExecObjectType& arrayPortal,
83 std::false_type)
const
91 return arrayPortal.Get(indices.GetOutputIndex());
98 #endif //viskores_exec_arg_FetchTagArrayDirectOut_h
typename ExecObjectType::ValueType ValueType
Definition: FetchTagArrayDirectOut.h:48
#define VISKORES_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:61
ValueType Load(const ThreadIndicesType &indices, const ExecObjectType &arrayPortal) const
Definition: FetchTagArrayDirectOut.h:52
void Store(const ThreadIndicesType &indices, const ExecObjectType &arrayPortal, const T &value) const
Definition: FetchTagArrayDirectOut.h:61
typename ExecObjectType::ValueType ValueType
The type of value to load and store.
Definition: Fetch.h:66
Class for loading and storing values in thread instance.
Definition: Fetch.h:57
Groups connected points that have the same field value.
Definition: Atomic.h:27
ValueType DoLoad(const ThreadIndicesType &, const ExecObjectType &, std::true_type) const
Definition: FetchTagArrayDirectOut.h:71
Aspect tag to use for default load/store of data.
Definition: AspectTagDefault.h:30
ValueType DoLoad(const ThreadIndicesType &indices, const ExecObjectType &arrayPortal, std::false_type) const
Definition: FetchTagArrayDirectOut.h:81
Fetch tag for setting array values with direct indexing.
Definition: FetchTagArrayDirectOut.h:39
#define VISKORES_EXEC
Definition: ExportMacros.h:59