Go to the documentation of this file.
18 #ifndef viskores_cont_ArrayHandleIndex_h
19 #define viskores_cont_ArrayHandleIndex_h
30 struct VISKORES_ALWAYS_EXPORT IndexFunctor
47 using StorageTagIndexSuperclass =
52 : Storage<viskores::Id, StorageTagIndexSuperclass>
74 internal::FunctorToArrayHandleImplicitBuffers(
viskores::internal::IndexFunctor{}, length))
90 struct ArrayRangeComputeImpl;
98 bool computeFiniteRange,
102 template <
typename S>
103 struct ArrayRangeComputeMagnitudeImpl;
106 struct VISKORES_CONT_EXPORT ArrayRangeComputeMagnitudeImpl<
viskores::cont::StorageTagIndex>
111 bool computeFiniteRange,
114 auto rangeAH = ArrayRangeComputeImpl<viskores::cont::StorageTagIndex>{}(
115 input, maskArray, computeFiniteRange, device);
116 return rangeAH.ReadPortal().Get(0);
135 struct SerializableTypeString<
viskores::cont::ArrayHandleIndex>
141 struct SerializableTypeString<
142 viskores::cont::ArrayHandle<viskores::Id, viskores::cont::StorageTagIndex>>
143 : SerializableTypeString<viskores::cont::ArrayHandleIndex>
153 struct Serialization<
viskores::cont::ArrayHandleIndex>
159 static VISKORES_CONT void save(BinaryBuffer& bb,
const BaseType& obj)
161 viskoresdiy::save(bb, obj.GetNumberOfValues());
174 struct Serialization<
viskores::cont::ArrayHandle<viskores::Id, viskores::cont::StorageTagIndex>>
175 : Serialization<viskores::cont::ArrayHandleIndex>
181 #endif //viskores_cont_ArrayHandleIndex_h
T load(const U &u, viskores::Id v)
Definition: FetchTagArrayDirectIn.h:44
viskores::cont::detail::GetTypeInParentheses< void(viskores::cont::ArrayHandle< viskores::Id, StorageTagIndex >) >::type Superclass
Definition: ArrayHandleIndex.h:68
ArrayHandleIndex(viskores::Id length)
Construct an index array containing values from 0 to length - 1.
Definition: ArrayHandleIndex.h:72
viskores::cont::ArrayHandleIndex make_ArrayHandleIndex(viskores::Id length)
A convenience function for creating an ArrayHandleIndex.
Definition: ArrayHandleIndex.h:81
#define VISKORES_ARRAY_HANDLE_SUBCLASS_NT(classname, superclass)
Macro to make default methods in ArrayHandle subclasses.
Definition: ArrayHandle.h:279
Manages an array-worth of data.
Definition: ArrayHandle.h:313
#define VISKORES_EXEC_CONT
Definition: ExportMacros.h:60
Definition: Particle.h:373
typename Superclass::StorageTag StorageTag
Definition: ArrayHandleImplicit.h:196
viskores::Int64 Id
Base type to use to index arrays.
Definition: Types.h:235
#define VISKORES_CONT
Definition: ExportMacros.h:65
Groups connected points that have the same field value.
Definition: Atomic.h:27
Definition: ArrayHandleIndex.h:40
An object used to specify a device.
Definition: DeviceAdapterTag.h:66
Represent a continuous scalar range of values.
Definition: Range.h:39
auto Get(const viskores::Tuple< Ts... > &tuple)
Retrieve the object from a viskores::Tuple at the given index.
Definition: Tuple.h:89
An implicit array handle containing the its own indices.
Definition: ArrayHandleIndex.h:64