Viskores  1.0
Public Types | Public Member Functions | List of all members
viskores::cont::ArrayHandleIndex Class Reference

An implicit array handle containing the its own indices. More...

#include <ArrayHandleIndex.h>

Inheritance diagram for viskores::cont::ArrayHandleIndex:
viskores::cont::ArrayHandle< viskores::Id, StorageTagIndex >

Public Types

using Thisclass = viskores::cont::detail::GetTypeInParentheses< void(ArrayHandleIndex) >::type
 
using Superclass = viskores::cont::detail::GetTypeInParentheses< void(viskores::cont::ArrayHandle< viskores::Id, StorageTagIndex >) >::type
 
using ValueType = Superclass::ValueType
 
using StorageTag = Superclass::StorageTag
 
using StorageType = Superclass::StorageType
 
using ReadPortalType = Superclass::ReadPortalType
 
using WritePortalType = Superclass::WritePortalType
 
- Public Types inherited from viskores::cont::ArrayHandle< viskores::Id, StorageTagIndex >
using ValueType = viskores::Id
 
using StorageTag = StorageTagIndex
 
using StorageType = viskores::cont::internal::Storage< ValueType, StorageTag >
 
using ReadPortalType = typename StorageType::ReadPortalType
 The type of portal used when accessing data in a read-only mode. More...
 
using WritePortalType = typename StorageType::WritePortalType
 The type of portal used when accessing data in a read-write mode. More...
 

Public Member Functions

 ArrayHandleIndex ()
 
VISKORES_CONT ArrayHandleIndex (const Thisclass &src)
 
VISKORES_CONT ArrayHandleIndex (Thisclass &&src) noexcept
 
VISKORES_CONT ArrayHandleIndex (const viskores::cont::ArrayHandle< Superclass::ValueType, Superclass::StorageTag > &src)
 
VISKORES_CONT ArrayHandleIndex (viskores::cont::ArrayHandle< Superclass::ValueType, Superclass::StorageTag > &&src) noexcept
 
VISKORES_CONT ArrayHandleIndex (const std::vector< viskores::cont::internal::Buffer > &buffers)
 
VISKORES_CONT ArrayHandleIndex (std::vector< viskores::cont::internal::Buffer > &&buffers) noexcept
 
VISKORES_CONT Thisclassoperator= (const Thisclass &src)
 
VISKORES_CONT Thisclassoperator= (Thisclass &&src) noexcept
 
 ArrayHandleIndex (viskores::Id length)
 Construct an index array containing values from 0 to length - 1. More...
 
- Public Member Functions inherited from viskores::cont::ArrayHandle< viskores::Id, StorageTagIndex >
 ArrayHandle ()
 Constructs an empty ArrayHandle. More...
 
 ArrayHandle (const viskores::cont::ArrayHandle< ValueType, StorageTag > &src)
 Copy constructor. More...
 
 ArrayHandle (viskores::cont::ArrayHandle< ValueType, StorageTag > &&src) noexcept
 Move constructor. More...
 
 ArrayHandle (const std::vector< viskores::cont::internal::Buffer > &buffers)
 Special constructor for subclass specializations that need to set the initial state array. More...
 
 ArrayHandle (std::vector< viskores::cont::internal::Buffer > &&buffers) noexcept
 Special constructor for subclass specializations that need to set the initial state array. More...
 
 ~ArrayHandle ()
 Destructs an empty ArrayHandle. More...
 
viskores::cont::ArrayHandle< ValueType, StorageTag > & operator= (const viskores::cont::ArrayHandle< ValueType, StorageTag > &src)
 Shallow copies an ArrayHandle. More...
 
viskores::cont::ArrayHandle< ValueType, StorageTag > & operator= (viskores::cont::ArrayHandle< ValueType, StorageTag > &&src) noexcept
 Move and Assignment of an ArrayHandle. More...
 
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...
 
bool operator== (const ArrayHandle< VT, ST > &) const
 
bool operator!= (const ArrayHandle< ValueType, StorageTag > &rhs) const
 
bool operator!= (const ArrayHandle< VT, ST > &) const
 
StorageType GetStorage () const
 Get the storage. More...
 
ReadPortalType ReadPortal () const
 Get an array portal that can be used in the control environment. More...
 
ReadPortalType ReadPortal (viskores::cont::Token &token) const
 The type of portal used when accessing data in a read-only mode. More...
 
WritePortalType WritePortal () const
 Get an array portal that can be used in the control environment. More...
 
WritePortalType WritePortal (viskores::cont::Token &token) const
 Get an array portal that can be used in the control environment. More...
 
viskores::Id GetNumberOfValues () const
 Returns the number of entries in the array. More...
 
viskores::IdComponent GetNumberOfComponentsFlat () const
 Returns the total number of components for each value in the array. More...
 
void Allocate (viskores::Id numberOfValues, viskores::CopyFlag preserve, viskores::cont::Token &token) const
 Allocates an array large enough to hold the given number of values. More...
 
void Allocate (viskores::Id numberOfValues, viskores::CopyFlag preserve=viskores::CopyFlag::Off) const
 Allocates an array large enough to hold the given number of values. More...
 
void AllocateAndFill (viskores::Id numberOfValues, const ValueType &fillValue, viskores::CopyFlag preserve, viskores::cont::Token &token) const
 Allocates an array and fills it with an initial value. More...
 
void AllocateAndFill (viskores::Id numberOfValues, const ValueType &fillValue, viskores::CopyFlag preserve=viskores::CopyFlag::Off) const
 Allocates an array and fills it with an initial value. More...
 
void Fill (const ValueType &fillValue, viskores::Id startIndex, viskores::Id endIndex, viskores::cont::Token &token) const
 Fills the array with a given value. More...
 
void Fill (const ValueType &fillValue, viskores::Id startIndex, viskores::Id endIndex) const
 Fills the array with a given value. More...
 
void Fill (const ValueType &fillValue, viskores::Id startIndex=0) const
 Fills the array with a given value. More...
 
void ReleaseResourcesExecution () const
 Releases any resources being used in the execution environment (that are not being shared by the control environment). More...
 
void ReleaseResources () const
 Releases all resources in both the control and execution environments. More...
 
ReadPortalType PrepareForInput (viskores::cont::DeviceAdapterId device, viskores::cont::Token &token) const
 Prepares this array to be used as an input to an operation in the execution environment. More...
 
WritePortalType PrepareForInPlace (viskores::cont::DeviceAdapterId device, viskores::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...
 
WritePortalType PrepareForOutput (viskores::Id numberOfValues, viskores::cont::DeviceAdapterId device, viskores::cont::Token &token) const
 Prepares (allocates) this array to be used as an output from an operation in the execution environment. More...
 
bool IsOnDevice (viskores::cont::DeviceAdapterId device) const
 Returns true if the ArrayHandle's data is on the given device. More...
 
bool IsOnHost () const
 Returns true if the ArrayHandle's data is on the host. More...
 
void SyncControlArray () const
 Synchronizes the control array with the execution array. More...
 
void Enqueue (const viskores::cont::Token &token) const
 Enqueue a token for access to this ArrayHandle. More...
 
void DeepCopyFrom (const viskores::cont::ArrayHandle< ValueType, StorageTag > &source) const
 Deep copies the data in the array. More...
 
const std::vector< viskores::cont::internal::Buffer > & GetBuffers () const
 Returns the internal Buffer structures that hold the data. More...
 
std::vector< viskores::cont::internal::Buffer > & GetBuffers ()
 

Additional Inherited Members

- Protected Member Functions inherited from viskores::cont::ArrayHandle< viskores::Id, StorageTagIndex >
void SetBuffer (viskores::IdComponent index, const viskores::cont::internal::Buffer &buffer)
 
void SetBuffers (const std::vector< viskores::cont::internal::Buffer > &buffers)
 
void SetBuffers (std::vector< viskores::cont::internal::Buffer > &&buffers)
 

Detailed Description

An implicit array handle containing the its own indices.

ArrayHandleIndex is an implicit array handle containing the values 0, 1, 2, 3,... to a specified size. Every value in the array is the same as the index to that value.

Member Typedef Documentation

◆ ReadPortalType

using viskores::cont::ArrayHandleIndex::ReadPortalType = Superclass::ReadPortalType

◆ StorageTag

using viskores::cont::ArrayHandleIndex::StorageTag = Superclass::StorageTag

◆ StorageType

using viskores::cont::ArrayHandleIndex::StorageType = Superclass::StorageType

◆ Superclass

using viskores::cont::ArrayHandleIndex::Superclass = viskores::cont::detail::GetTypeInParentheses<void (viskores::cont::ArrayHandle<viskores::Id, StorageTagIndex>) >::type

◆ Thisclass

using viskores::cont::ArrayHandleIndex::Thisclass = viskores::cont::detail::GetTypeInParentheses<void ( ArrayHandleIndex ) >::type

◆ ValueType

using viskores::cont::ArrayHandleIndex::ValueType = Superclass::ValueType

◆ WritePortalType

using viskores::cont::ArrayHandleIndex::WritePortalType = Superclass::WritePortalType

Constructor & Destructor Documentation

◆ ArrayHandleIndex() [1/8]

viskores::cont::ArrayHandleIndex::ArrayHandleIndex ( )
inline

◆ ArrayHandleIndex() [2/8]

VISKORES_CONT viskores::cont::ArrayHandleIndex::ArrayHandleIndex ( const Thisclass src)
inline

◆ ArrayHandleIndex() [3/8]

VISKORES_CONT viskores::cont::ArrayHandleIndex::ArrayHandleIndex ( Thisclass &&  src)
inlinenoexcept

◆ ArrayHandleIndex() [4/8]

VISKORES_CONT viskores::cont::ArrayHandleIndex::ArrayHandleIndex ( const viskores::cont::ArrayHandle< Superclass::ValueType, Superclass::StorageTag > &  src)
inline

◆ ArrayHandleIndex() [5/8]

VISKORES_CONT viskores::cont::ArrayHandleIndex::ArrayHandleIndex ( viskores::cont::ArrayHandle< Superclass::ValueType, Superclass::StorageTag > &&  src)
inlinenoexcept

◆ ArrayHandleIndex() [6/8]

VISKORES_CONT viskores::cont::ArrayHandleIndex::ArrayHandleIndex ( const std::vector< viskores::cont::internal::Buffer > &  buffers)
inlineexplicit

◆ ArrayHandleIndex() [7/8]

VISKORES_CONT viskores::cont::ArrayHandleIndex::ArrayHandleIndex ( std::vector< viskores::cont::internal::Buffer > &&  buffers)
inlineexplicitnoexcept

◆ ArrayHandleIndex() [8/8]

viskores::cont::ArrayHandleIndex::ArrayHandleIndex ( viskores::Id  length)
inline

Construct an index array containing values from 0 to length - 1.

Member Function Documentation

◆ operator=() [1/2]

VISKORES_CONT Thisclass& viskores::cont::ArrayHandleIndex::operator= ( const Thisclass src)
inline

◆ operator=() [2/2]

VISKORES_CONT Thisclass& viskores::cont::ArrayHandleIndex::operator= ( Thisclass &&  src)
inlinenoexcept

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