Go to the documentation of this file.
18 #ifndef viskores_exec_arg_FetchTagArrayDirectIn_h
19 #define viskores_exec_arg_FetchTagArrayDirectIn_h
43 template <
typename T,
typename U>
50 template <
typename T,
typename U>
56 template <
typename ExecObjectType>
62 using ET =
typename std::remove_const<typename std::remove_pointer<ExecObjectType>::type>::type;
64 typename std::conditional<std::is_pointer<ExecObjectType>::value,
const ET*,
const ET&>::type;
69 template <
typename ThreadIndicesType>
72 return load<ValueType>(arrayPortal, indices.GetInputIndex());
75 template <
typename ThreadIndicesType>
85 #endif //viskores_exec_arg_FetchTagArrayDirectIn_h
T load(const U &u, viskores::Id v)
Definition: FetchTagArrayDirectIn.h:44
#define VISKORES_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:61
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
ValueType Load(const ThreadIndicesType &indices, PortalType arrayPortal) const
Definition: FetchTagArrayDirectIn.h:70
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
typename ET::ValueType ValueType
Definition: FetchTagArrayDirectIn.h:66
Aspect tag to use for default load/store of data.
Definition: AspectTagDefault.h:30
Fetch tag for getting array values with direct indexing.
Definition: FetchTagArrayDirectIn.h:37
typename std::remove_const< typename std::remove_pointer< ExecObjectType >::type >::type ET
Definition: FetchTagArrayDirectIn.h:62
typename std::conditional< std::is_pointer< ExecObjectType >::value, const ET *, const ET & >::type PortalType
Definition: FetchTagArrayDirectIn.h:64
void Store(const ThreadIndicesType &, PortalType, const ValueType &) const
Definition: FetchTagArrayDirectIn.h:76
#define VISKORES_EXEC
Definition: ExportMacros.h:59