10 #ifndef vtk_m_exec_kokkos_internal_TaskBasic_h 
   11 #define vtk_m_exec_kokkos_internal_TaskBasic_h 
   27 template <
typename WType, 
typename IType>
 
   31   TaskBasic1D(
const WType& worklet, 
const IType& invocation)
 
   33     , Invocation(invocation)
 
   37   void SetErrorMessageBuffer(
const vtkm::exec::internal::ErrorMessageBuffer& buffer)
 
   39     this->Worklet.SetErrorMessageBuffer(buffer);
 
   43   void operator()(
vtkm::Id index)
 const 
   45     vtkm::exec::internal::detail::DoWorkletInvokeFunctor(
 
   48       this->Worklet.GetThreadIndices(index,
 
   49                                      this->Invocation.OutputToInputMap,
 
   50                                      this->Invocation.VisitArray,
 
   51                                      this->Invocation.ThreadToOutputMap,
 
   52                                      this->Invocation.GetInputDomain()));
 
   56   typename std::remove_const<WType>::type Worklet;
 
   60 template <
typename WType>
 
   64   explicit TaskBasic1D(
const WType& worklet)
 
   69   void SetErrorMessageBuffer(
const vtkm::exec::internal::ErrorMessageBuffer& buffer)
 
   71     this->Worklet.SetErrorMessageBuffer(buffer);
 
   75   void operator()(
vtkm::Id index)
 const { this->Worklet(index); }
 
   78   typename std::remove_const<WType>::type Worklet;
 
   81 template <
typename WType, 
typename IType>
 
   85   TaskBasic3D(
const WType& worklet, 
const IType& invocation)
 
   87     , Invocation(invocation)
 
   91   void SetErrorMessageBuffer(
const vtkm::exec::internal::ErrorMessageBuffer& buffer)
 
   93     this->Worklet.SetErrorMessageBuffer(buffer);
 
   99     vtkm::exec::internal::detail::DoWorkletInvokeFunctor(
 
  102       this->Worklet.GetThreadIndices(flatIdx,
 
  104                                      this->Invocation.OutputToInputMap,
 
  105                                      this->Invocation.VisitArray,
 
  106                                      this->Invocation.ThreadToOutputMap,
 
  107                                      this->Invocation.GetInputDomain()));
 
  111   typename std::remove_const<WType>::type Worklet;
 
  115 template <
typename WType>
 
  119   explicit TaskBasic3D(
const WType& worklet)
 
  124   void SetErrorMessageBuffer(
const vtkm::exec::internal::ErrorMessageBuffer& buffer)
 
  126     this->Worklet.SetErrorMessageBuffer(buffer);
 
  133   typename std::remove_const<WType>::type Worklet;
 
  140 #endif //vtk_m_exec_kokkos_internal_TaskBasic_h