VTK-m  1.8
Public Member Functions | List of all members
vtkm::cont::ArrayHandleConstant< T > Class Template Reference

An array handle with a constant value. More...

#include <ArrayHandleConstant.h>

Inheritance diagram for vtkm::cont::ArrayHandleConstant< T >:
vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagConstant >

Public Member Functions

 VTKM_ARRAY_HANDLE_SUBCLASS (ArrayHandleConstant,(ArrayHandleConstant< T >),(vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagConstant >))
 
VTKM_CONT ArrayHandleConstant (T value, vtkm::Id numberOfValues=0)
 
VTKM_CONTGetValue () const
 Returns the constant value stored in this array. More...
 
- Public Member Functions inherited from vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagConstant >
struct VTKM_DEPRECATED (1.6, "Use ReadPortalType and WritePortalType.") ExecutionTypes
 
VTKM_CONT VTKM_DEPRECATED (1.6, "Use ArrayHandle::WritePortal() instead. " "Note that the returned portal will lock the array while it is in scope.") VTKM_CONT VTKM_DEPRECATED(1.6
 Get the array portal of the control array. More...
 
 VTKM_DEPRECATED (1.6, "Use Allocate(n, vtkm::CopyFlag::On) instead of Shrink(n).") VTKM_CONT void Shrink(vtkm
 
VTKM_CONT VTKM_DEPRECATED (1.6, "PrepareForInput now requires a vtkm::cont::Token object.") ReadPortalType PrepareForInput(vtkm
 
VTKM_CONT ArrayHandle ()
 Constructs an empty ArrayHandle. More...
 
VTKM_CONT ArrayHandle (const vtkm::cont::ArrayHandle< ValueType, StorageTag > &src)
 Copy constructor. More...
 
VTKM_CONT ArrayHandle (vtkm::cont::ArrayHandle< ValueType, StorageTag > &&src) noexcept
 Move constructor. More...
 
VTKM_CONT ~ArrayHandle ()
 Destructs an empty ArrayHandle. More...
 
VTKM_CONT vtkm::cont::ArrayHandle< ValueType, StorageTag > & operator= (const vtkm::cont::ArrayHandle< ValueType, StorageTag > &src)
 Copies an ArrayHandle. More...
 
VTKM_CONT vtkm::cont::ArrayHandle< ValueType, StorageTag > & operator= (vtkm::cont::ArrayHandle< ValueType, StorageTag > &&src) noexcept
 Move and Assignment of an ArrayHandle. More...
 
VTKM_CONT bool operator== (const ArrayHandle< ValueType, StorageTag > &rhs) const
 Like a pointer, two ArrayHandles are considered equal if they point to the same location in memory. More...
 
VTKM_CONT bool operator== (const ArrayHandle< VT, ST > &) const
 
VTKM_CONT bool operator!= (const ArrayHandle< ValueType, StorageTag > &rhs) const
 
VTKM_CONT bool operator!= (const ArrayHandle< VT, ST > &) const
 
VTKM_CONT StorageType GetStorage () const
 Get the storage. More...
 
VTKM_CONT Use ArrayHandle::ReadPortal () instead. " "Note that the returned portal will lock the array while it is in scope.") VTKM_CONT ReadPortalType ReadPortal() const
 Get an array portal that can be used in the control environment. More...
 
VTKM_CONT WritePortalType WritePortal () const
 Get an array portal that can be used in the control environment. More...
 
VTKM_CONT vtkm::Id GetNumberOfValues () const
 Returns the number of entries in the array. More...
 
VTKM_CONT void ReleaseResourcesExecution () const
 Releases any resources being used in the execution environment (that are not being shared by the control environment). More...
 
VTKM_CONT void ReleaseResources () const
 Releases all resources in both the control and execution environments. More...
 
VTKM_CONT ReadPortalType PrepareForInput (vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const
 Prepares this array to be used as an input to an operation in the execution environment. More...
 
VTKM_CONT WritePortalType PrepareForInPlace (vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const
 Prepares this array to be used in an in-place operation (both as input and output) in the execution environment. More...
 
VTKM_CONT WritePortalType PrepareForOutput (vtkm::Id numberOfValues, vtkm::cont::DeviceAdapterId device, vtkm::cont::Token &token) const
 Prepares (allocates) this array to be used as an output from an operation in the execution environment. More...
 
VTKM_CONT ArrayHandle (const std::vector< vtkm::cont::internal::Buffer > &buffers)
 
VTKM_CONT ArrayHandle (std::vector< vtkm::cont::internal::Buffer > &&buffers) noexcept
 
VTKM_CONT ArrayHandle (const vtkm::cont::internal::Buffer *buffers)
 
VTKM_CONT void Allocate (vtkm::Id numberOfValues, vtkm::CopyFlag preserve, vtkm::cont::Token &token) const
 Allocates an array large enough to hold the given number of values. More...
 
VTKM_CONT void Allocate (vtkm::Id numberOfValues, vtkm::CopyFlag preserve=vtkm::CopyFlag::Off) const
 Allocates an array large enough to hold the given number of values. More...
 
VTKM_CONT void AllocateAndFill (vtkm::Id numberOfValues, const ValueType &fillValue, vtkm::CopyFlag preserve, vtkm::cont::Token &token) const
 Allocates an array and fills it with an initial value. More...
 
VTKM_CONT void AllocateAndFill (vtkm::Id numberOfValues, const ValueType &fillValue, vtkm::CopyFlag preserve=vtkm::CopyFlag::Off) const
 Allocates an array and fills it with an initial value. More...
 
VTKM_CONT void Fill (const ValueType &fillValue, vtkm::Id startIndex, vtkm::Id endIndex, vtkm::cont::Token &token) const
 Fills the array with a given value. More...
 
VTKM_CONT void Fill (const ValueType &fillValue, vtkm::Id startIndex, vtkm::Id endIndex) const
 Fills the array with a given value. More...
 
VTKM_CONT void Fill (const ValueType &fillValue, vtkm::Id startIndex=0) const
 Fills the array with a given value. More...
 

Additional Inherited Members

- Public Types inherited from vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagConstant >
using ValueType = T
 
using StorageTag = vtkm::cont::StorageTagConstant
 
using StorageType = vtkm::cont::internal::Storage< ValueType, StorageTag >
 
using ReadPortalType = typename StorageType::ReadPortalType
 
using WritePortalType = typename StorageType::WritePortalType
 
using instead = WritePortalType
 
using instead = ReadPortalType
 
- Static Public Member Functions inherited from vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagConstant >
static constexpr VTKM_CONT vtkm::IdComponent GetNumberOfBuffers ()
 
- Protected Member Functions inherited from vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagConstant >
VTKM_CONT void SetBuffer (vtkm::IdComponent index, const vtkm::cont::internal::Buffer &buffer)
 Returns true if the ArrayHandle's data is on the given device. More...
 
VTKM_CONT void SetBuffers (const BufferContainer &buffers)
 

Detailed Description

template<typename T>
class vtkm::cont::ArrayHandleConstant< T >

An array handle with a constant value.

ArrayHandleConstant is an implicit array handle with a constant value. A constant array handle is constructed by giving a value and an array length. The resulting array is of the given size with each entry the same value given in the constructor. The array is defined implicitly, so there it takes (almost) no memory.

Constructor & Destructor Documentation

◆ ArrayHandleConstant()

template<typename T >
VTKM_CONT vtkm::cont::ArrayHandleConstant< T >::ArrayHandleConstant ( value,
vtkm::Id  numberOfValues = 0 
)
inline

Member Function Documentation

◆ GetValue()

template<typename T >
VTKM_CONT T vtkm::cont::ArrayHandleConstant< T >::GetValue ( ) const
inline

Returns the constant value stored in this array.

The value set in the constructor of this array is returned even if the number of values is 0.

◆ VTKM_ARRAY_HANDLE_SUBCLASS()

template<typename T >
vtkm::cont::ArrayHandleConstant< T >::VTKM_ARRAY_HANDLE_SUBCLASS ( ArrayHandleConstant< T >  ,
(ArrayHandleConstant< T >)  ,
(vtkm::cont::ArrayHandle< T, vtkm::cont::StorageTagConstant >)   
)

The documentation for this class was generated from the following file: