Go to the documentation of this file.
18 #ifndef viskores_worklet_DispatcherReduceByKey_h
19 #define viskores_worklet_DispatcherReduceByKey_h
30 class WorkletReduceByKey;
34 template <
typename WorkletType>
36 :
public viskores::worklet::internal::DispatcherBase<DispatcherReduceByKey<WorkletType>,
38 viskores::worklet::WorkletReduceByKey>
41 viskores::worklet::internal::DispatcherBase<DispatcherReduceByKey<WorkletType>,
47 template <
typename... T>
53 template <
typename Invocation>
56 using namespace viskores::worklet::internal;
59 using InputDomainType =
typename Invocation::InputDomainType;
66 InputDomainType>::value),
67 "Invalid input domain for WorkletReduceByKey.");
71 const InputDomainType& inputDomain = invocation.GetInputDomain();
75 this->BasicInvoke(invocation, SchedulingRange(inputDomain));
81 #endif //viskores_worklet_DispatcherReduceByKey_h
viskores::worklet::internal::DispatcherBase< DispatcherReduceByKey< WorkletType >, WorkletType, viskores::worklet::WorkletReduceByKey > Superclass
Definition: DispatcherReduceByKey.h:43
void DoInvoke(Invocation &invocation) const
Definition: DispatcherReduceByKey.h:54
typename Superclass::ScatterType ScatterType
Definition: DispatcherReduceByKey.h:44
Dispatcher for worklets that inherit from WorkletReduceByKey.
Definition: DispatcherReduceByKey.h:35
#define VISKORES_CONT
Definition: ExportMacros.h:65
Groups connected points that have the same field value.
Definition: Atomic.h:27
#define VISKORES_STATIC_ASSERT_MSG(condition, message)
Definition: StaticAssert.h:26
DispatcherReduceByKey(T &&... args)
Definition: DispatcherReduceByKey.h:48
Check for a Keys object.
Definition: TypeCheckTagKeys.h:32
Base class for worklets that group elements by keys.
Definition: WorkletReduceByKey.h:62
Class for checking that a type matches the semantics for an argument.
Definition: TypeCheck.h:42