Go to the documentation of this file.
10 #ifndef vtk_m_worklet_DispatcherReduceByKey_h
11 #define vtk_m_worklet_DispatcherReduceByKey_h
22 class WorkletReduceByKey;
26 template <
typename WorkletType>
28 :
public vtkm::worklet::internal::DispatcherBase<DispatcherReduceByKey<WorkletType>,
30 vtkm::worklet::WorkletReduceByKey>
32 using Superclass = vtkm::worklet::internal::DispatcherBase<DispatcherReduceByKey<WorkletType>,
38 template <
typename... T>
44 template <
typename Invocation>
47 using namespace vtkm::worklet::internal;
50 using InputDomainType =
typename Invocation::InputDomainType;
57 "Invalid input domain for WorkletReduceByKey.");
61 const InputDomainType& inputDomain = invocation.GetInputDomain();
65 this->BasicInvoke(invocation, SchedulingRange(inputDomain));
71 #endif //vtk_m_worklet_DispatcherReduceByKey_h
Groups connected points that have the same field value.
Definition: Atomic.h:19
vtkm::worklet::internal::DispatcherBase< DispatcherReduceByKey< WorkletType >, WorkletType, vtkm::worklet::WorkletReduceByKey > Superclass
Definition: DispatcherReduceByKey.h:34
void DoInvoke(Invocation &invocation) const
Definition: DispatcherReduceByKey.h:45
Base class for worklets that group elements by keys.
Definition: WorkletReduceByKey.h:54
#define VTKM_STATIC_ASSERT_MSG(condition, message)
Definition: StaticAssert.h:18
Class for checking that a type matches the semantics for an argument.
Definition: TypeCheck.h:34
#define VTKM_CONT
Definition: ExportMacros.h:57
DispatcherReduceByKey(T &&... args)
Definition: DispatcherReduceByKey.h:39
Dispatcher for worklets that inherit from WorkletReduceByKey.
Definition: DispatcherReduceByKey.h:27
typename Superclass::ScatterType ScatterType
Definition: DispatcherReduceByKey.h:35