Go to the documentation of this file.
18 #ifndef viskores_worklet_internal_WorkletBase_h
19 #define viskores_worklet_internal_WorkletBase_h
71 using _1 = viskores::placeholders::Arg<1>;
72 using _2 = viskores::placeholders::Arg<2>;
73 using _3 = viskores::placeholders::Arg<3>;
74 using _4 = viskores::placeholders::Arg<4>;
75 using _5 = viskores::placeholders::Arg<5>;
76 using _6 = viskores::placeholders::Arg<6>;
77 using _7 = viskores::placeholders::Arg<7>;
78 using _8 = viskores::placeholders::Arg<8>;
79 using _9 = viskores::placeholders::Arg<9>;
80 using _10 = viskores::placeholders::Arg<10>;
81 using _11 = viskores::placeholders::Arg<11>;
82 using _12 = viskores::placeholders::Arg<12>;
83 using _13 = viskores::placeholders::Arg<13>;
84 using _14 = viskores::placeholders::Arg<14>;
85 using _15 = viskores::placeholders::Arg<15>;
86 using _16 = viskores::placeholders::Arg<16>;
87 using _17 = viskores::placeholders::Arg<17>;
88 using _18 = viskores::placeholders::Arg<18>;
89 using _19 = viskores::placeholders::Arg<19>;
90 using _20 = viskores::placeholders::Arg<20>;
137 using InputDomain = _1;
152 using Hints = viskores::cont::internal::HintList<>;
206 using TypeCheckTag = viskores::cont::arg::TypeCheckTagAtomicArray;
252 template <
typename VisitTopology = Cell,
typename Inc
identTopology = Po
int>
267 template <
typename OutToInArrayType,
268 typename VisitArrayType,
269 typename ThreadToOutArrayType,
270 typename InputDomainType>
273 const OutToInArrayType& outToIn,
274 const VisitArrayType& visit,
275 const ThreadToOutArrayType& threadToOut,
276 const InputDomainType&)
const
280 threadIndex, outToIn.Get(outIndex), visit.Get(outIndex), outIndex);
289 template <
typename OutToInArrayType,
290 typename VisitArrayType,
291 typename ThreadToOutArrayType,
292 typename InputDomainType>
296 const OutToInArrayType& outToIn,
297 const VisitArrayType& visit,
298 const ThreadToOutArrayType& threadToOut,
299 const InputDomainType&)
const
303 threadIndex3D, threadIndex1D, outToIn.Get(outIndex), visit.Get(outIndex), outIndex);
310 #endif //viskores_worklet_internal_WorkletBase_h
The Array type check passes for any object that behaves like an ArrayHandle class and can be passed t...
Definition: TypeCheckTagArrayIn.h:39
Base class for all user worklets invoked in the execution environment from a call to viskores::cont::...
Definition: FunctorBase.h:38
A tag used to identify the cell elements in a topology.
Definition: TopologyElementTag.h:32
The ExecutionSignature tag to use to get the thread indices.
Definition: ThreadIndices.h:52
Transport tag for in-place arrays with random access.
Definition: TransportTagWholeArrayOut.h:45
Transport tag for input arrays.
Definition: TransportTagCellSetIn.h:40
The Array type check passes for any object that behaves like an ArrayHandle class and can be passed t...
Definition: TypeCheckTagArrayInOut.h:39
#define VISKORES_SUPPRESS_EXEC_WARNINGS
Definition: ExportMacros.h:61
Fetch tag for execution objects.
Definition: FetchTagExecObject.h:40
Check for a CellSet-like object.
Definition: TypeCheckTagCellSet.h:34
The ExecObject type check passes for any object that inherits from ExecutionObjectBase.
Definition: TypeCheckTagExecObject.h:40
viskores::Int32 IdComponent
Base type to use to index small lists.
Definition: Types.h:202
A tag used to identify the edge elements in a topology.
Definition: TopologyElementTag.h:52
Definition: TypeCheckTagBitField.h:34
Definition: TransportTagBitField.h:32
Basic container for thread indices in a worklet invocation.
Definition: ThreadIndicesBasic.h:43
A tag used to identify the point elements in a topology.
Definition: TopologyElementTag.h:42
The base class for all tags used in a ControlSignature.
Definition: ControlSignatureTagBase.h:44
The ExecutionSignature tag to use to get the visit index.
Definition: VisitIndex.h:54
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
Groups connected points that have the same field value.
Definition: Atomic.h:27
The ExecutionSignature tag to use to get the output index.
Definition: OutputIndex.h:52
Transport tag for in-place arrays with atomic operations.
Definition: TransportTagAtomicArray.h:44
Transport tag for execution objects.
Definition: TransportTagExecObject.h:40
Default mask object that does not suppress anything.
Definition: MaskNone.h:35
A scatter that maps input directly to output.
Definition: ScatterIdentity.h:38
Aspect tag to use for default load/store of data.
Definition: AspectTagDefault.h:30
The Array type check passes for any object that behaves like an ArrayHandle class and can be passed t...
Definition: TypeCheckTagArrayOut.h:39
A tag used to identify the face elements in a topology.
Definition: TopologyElementTag.h:62
Container for 3D thread indices in a worklet invocation.
Definition: ThreadIndicesBasic3D.h:39
The base class for all tags used in an ExecutionSignature.
Definition: ExecutionSignatureTagBase.h:45
Transport tag for in-place arrays with random access.
Definition: TransportTagWholeArrayIn.h:43
Definition: TransportTagBitField.h:35
Fetch tag for whole cell sets.
Definition: FetchTagWholeCellSetIn.h:36
Transport tag for in-place arrays with random access.
Definition: TransportTagWholeArrayInOut.h:45
#define VISKORES_EXEC
Definition: ExportMacros.h:59
Definition: TransportTagBitField.h:38
The ExecutionSignature tag to use to get the work index.
Definition: WorkIndex.h:47