Arcane  4.1.12.0
User documentation
Loading...
Searching...
No Matches
Arcane::DataViewGetterSetter< DataType > Class Template Reference

Class for accessing an element of a read/write view. More...

#include <arccore/common/DataView.h>

Public Types

using ValueType = DataType
using AccessorReturnType = DataViewGetterSetter<DataType>
Public Types inherited from Arcane::DataViewSetter< DataType >
using ValueType = DataType
using AccessorReturnType = DataViewSetter<DataType>

Public Member Functions

__host__ __device__ DataViewGetterSetter (DataType *ptr)
__host__ __device__ DataViewGetterSetter (const DataViewGetterSetter &v)
__host__ __device__ operator DataType () const
__host__ __device__ DataViewSetter< DataType > & operator= (const DataViewGetterSetter< DataType > &v)
__host__ __device__ DataViewSetter< DataType > & operator= (const DataType &v)
template<typename X = DataType, typename SubscriptType = decltype(std::declval<const X>()[0])>
__host__ __device__ DataViewGetterSetter< SubscriptType > operator[] (Int32 index)
 Applies, if it exists, the operator operator[](Int32) on the type.
template<typename X = DataType, typename DataTypeReturnType = decltype(std::declval<const X>()(0))>
constexpr __host__ __device__ DataViewGetterSetter< DataTypeReturnType > operator() (Int32 i0)
 Applies, if it exists, the operator operator()(Int32) on the type.
template<typename X = DataType, typename DataTypeReturnType = decltype(std::declval<const X>()(0, 0))>
constexpr __host__ __device__ DataViewGetterSetter< DataTypeReturnType > operator() (Int32 i0, Int32 i1)
 Applies, if it exists, the operator operator()(Int32,Int32) on the type.
Public Member Functions inherited from Arcane::DataViewSetter< DataType >
__host__ __device__ DataViewSetter (DataType *ptr)
__host__ __device__ DataViewSetter (const DataViewSetter< DataType > &v)
__host__ __device__ DataViewSetter< DataType > & operator= (const DataType &v)
__host__ __device__ DataViewSetter< DataType > & operator= (const DataViewSetter< DataType > &v)
__host__ __device__ DataViewSetter< DataType > & operator+= (const DataType &v)
__host__ __device__ DataViewSetter< DataType > & operator+= (const DataViewSetter< DataType > &v)
__host__ __device__ DataViewSetter< DataType > & operator-= (const DataType &v)
__host__ __device__ DataViewSetter< DataType > & operator-= (const DataViewSetter< DataType > &v)
__host__ __device__ DataViewSetter< DataType > & operator*= (const DataType &v)
__host__ __device__ DataViewSetter< DataType > & operator*= (const DataViewSetter< DataType > &v)
__host__ __device__ DataViewSetter< DataType > & operator/= (const DataType &v)
__host__ __device__ DataViewSetter< DataType > & operator/= (const DataViewSetter< DataType > &v)
template<typename X = DataType, typename ComponentDataType = decltype(X::x)>
__host__ __device__ void setX (ComponentDataType value)
template<typename X = DataType, typename ComponentDataType = decltype(X::y)>
__host__ __device__ void setY (ComponentDataType value)
template<typename X = DataType, typename ComponentDataType = decltype(X::z)>
__host__ __device__ void setZ (ComponentDataType value)
__host__ __device__ void setXX (Real value)
__host__ __device__ void setYX (Real value)
__host__ __device__ void setZX (Real value)
__host__ __device__ void setXY (Real value)
__host__ __device__ void setYY (Real value)
__host__ __device__ void setZY (Real value)
__host__ __device__ void setXZ (Real value)
__host__ __device__ void setYZ (Real value)
__host__ __device__ void setZZ (Real value)
template<typename X = DataType, typename SubscriptType = decltype(std::declval<const X>()[0])>
__host__ __device__ DataViewSetter< SubscriptType > operator[] (Int32 index)
 Applies the operator operator[] on the type.

Static Public Member Functions

static __host__ __device__ AccessorReturnType build (DataType *ptr)
Static Public Member Functions inherited from Arcane::DataViewSetter< DataType >
static __host__ __device__ AccessorReturnType build (DataType *ptr)

Friends

class Arcane::Accelerator::Impl::AtomicImpl

Detailed Description

template<typename DataType>
class Arcane::DataViewGetterSetter< DataType >

Class for accessing an element of a read/write view.

This class extends the functionalities of DataViewSetter by adding the possibility to access the data value.

Definition at line 245 of file arccore/src/common/arccore/common/DataView.h.

Member Typedef Documentation

◆ AccessorReturnType

template<typename DataType>
using Arcane::DataViewGetterSetter< DataType >::AccessorReturnType = DataViewGetterSetter<DataType>

◆ ValueType

template<typename DataType>
using Arcane::DataViewGetterSetter< DataType >::ValueType = DataType

Constructor & Destructor Documentation

◆ DataViewGetterSetter() [1/2]

template<typename DataType>
__host__ __device__ Arcane::DataViewGetterSetter< DataType >::DataViewGetterSetter ( DataType * ptr)
inlineexplicit

◆ DataViewGetterSetter() [2/2]

template<typename DataType>
__host__ __device__ Arcane::DataViewGetterSetter< DataType >::DataViewGetterSetter ( const DataViewGetterSetter< DataType > & v)
inline

Member Function Documentation

◆ build()

template<typename DataType>
__host__ __device__ AccessorReturnType Arcane::DataViewGetterSetter< DataType >::build ( DataType * ptr)
inlinestatic

◆ operator DataType()

template<typename DataType>
__host__ __device__ Arcane::DataViewGetterSetter< DataType >::operator DataType ( ) const
inline

◆ operator()() [1/2]

template<typename DataType>
template<typename X = DataType, typename DataTypeReturnType = decltype(std::declval<const X>()(0))>
__host__ __device__ DataViewGetterSetter< DataTypeReturnType > Arcane::DataViewGetterSetter< DataType >::operator() ( Int32 i0)
inlineconstexpr

Applies, if it exists, the operator operator()(Int32) on the type.

Definition at line 295 of file arccore/src/common/arccore/common/DataView.h.

◆ operator()() [2/2]

template<typename DataType>
template<typename X = DataType, typename DataTypeReturnType = decltype(std::declval<const X>()(0, 0))>
__host__ __device__ DataViewGetterSetter< DataTypeReturnType > Arcane::DataViewGetterSetter< DataType >::operator() ( Int32 i0,
Int32 i1 )
inlineconstexpr

Applies, if it exists, the operator operator()(Int32,Int32) on the type.

Definition at line 302 of file arccore/src/common/arccore/common/DataView.h.

◆ operator=() [1/2]

template<typename DataType>
__host__ __device__ DataViewSetter< DataType > & Arcane::DataViewGetterSetter< DataType >::operator= ( const DataType & v)
inline

◆ operator=() [2/2]

template<typename DataType>
__host__ __device__ DataViewSetter< DataType > & Arcane::DataViewGetterSetter< DataType >::operator= ( const DataViewGetterSetter< DataType > & v)
inline

◆ operator[]()

template<typename DataType>
template<typename X = DataType, typename SubscriptType = decltype(std::declval<const X>()[0])>
__host__ __device__ DataViewGetterSetter< SubscriptType > Arcane::DataViewGetterSetter< DataType >::operator[] ( Int32 index)
inline

Applies, if it exists, the operator operator[](Int32) on the type.

Definition at line 288 of file arccore/src/common/arccore/common/DataView.h.

◆ Arcane::Accelerator::Impl::AtomicImpl

template<typename DataType>
friend class Arcane::Accelerator::Impl::AtomicImpl
friend

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