18 #ifndef viskores_exec_internal_TaskSingular_h
19 #define viskores_exec_internal_TaskSingular_h
42 template <
typename WorkletType,
typename InvocationType>
47 TaskSingular(
const WorkletType& worklet,
const InvocationType& invocation)
49 , Invocation(invocation)
54 void SetErrorMessageBuffer(
const viskores::exec::internal::ErrorMessageBuffer& buffer)
56 this->Worklet.SetErrorMessageBuffer(buffer);
63 detail::DoWorkletInvokeFunctor(
66 this->Worklet.GetThreadIndices(index,
67 this->Invocation.OutputToInputMap,
68 this->Invocation.VisitArray,
69 this->Invocation.ThreadToOutputMap,
70 this->Invocation.GetInputDomain()));
74 typename std::remove_const<WorkletType>::type Worklet;
79 const InvocationType Invocation;
85 #endif //viskores_exec_internal_TaskSingular_h