DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder > Class Template Reference

#include <sycl/accessor.hpp>

Inheritance diagram for sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >:
Collaboration diagram for sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >:

Public Types

using value_type = DataT
 
using reference = DataT &
 
using const_reference = const DataT &
 

Public Member Functions

template<typename AllocatorT , int Dims = Dimensions, typename = std::enable_if_t<(Dims > 0 && Dims <= 3) && IsHostImageAcc>>
 image_accessor (image< Dims, AllocatorT > &ImageRef, int ImageElementSize)
 
template<typename AllocatorT , int Dims = Dimensions, typename = std::enable_if_t<(Dims > 0 && Dims <= 3) && IsImageAcc>>
 image_accessor (image< Dims, AllocatorT > &ImageRef, handler &CommandGroupHandlerRef, int ImageElementSize)
 
bool operator== (const image_accessor &Rhs) const
 
bool operator!= (const image_accessor &Rhs) const
 
 __SYCL2020_DEPRECATED ("get_count() is deprecated, please use size() instead") size_t get_count() const
 
size_t size () const noexcept
 
template<int Dims = Dimensions, typename = std::enable_if_t<(Dims > 0)>>
range< Dims > get_range () const
 
template<typename CoordT , int Dims = Dimensions, typename = std::enable_if_t< (Dims > 0) && (IsValidCoordDataT<Dims, CoordT>::value) && (detail::is_genint_v<CoordT>)&&( (IsImageAcc && IsImageAccessReadOnly) || (IsHostImageAcc && IsImageAccessAnyRead))>>
DataT read (const CoordT &Coords) const
 
template<typename CoordT , int Dims = Dimensions, typename = std::enable_if_t< (Dims > 0) && (IsValidCoordDataT<Dims, CoordT>::value) && ((IsImageAcc && IsImageAccessReadOnly) || (IsHostImageAcc && IsImageAccessAnyRead))>>
DataT read (const CoordT &Coords, const sampler &Smpl) const
 
template<typename CoordT , int Dims = Dimensions, typename = std::enable_if_t<(Dims > 0) && (detail::is_genint_v<CoordT>)&&( IsValidCoordDataT<Dims, CoordT>::value) && ((IsImageAcc && IsImageAccessWriteOnly) || (IsHostImageAcc && IsImageAccessAnyWrite))>>
void write (const CoordT &Coords, const DataT &Color) const
 
- Public Member Functions inherited from sycl::_V1::detail::AccessorBaseHost
 AccessorBaseHost (id< 3 > Offset, range< 3 > AccessRange, range< 3 > MemoryRange, access::mode AccessMode, void *SYCLMemObject, int Dims, int ElemSize, int OffsetInBytes=0, bool IsSubBuffer=false, const property_list &PropertyList={})
 
 AccessorBaseHost (id< 3 > Offset, range< 3 > AccessRange, range< 3 > MemoryRange, access::mode AccessMode, void *SYCLMemObject, int Dims, int ElemSize, bool IsPlaceH, int OffsetInBytes=0, bool IsSubBuffer=false, const property_list &PropertyList={})
 
 AccessorBaseHost (id< 3 > Offset, range< 3 > AccessRange, range< 3 > MemoryRange, access::mode AccessMode, void *SYCLMemObject, int Dims, int ElemSize, size_t OffsetInBytes=0, bool IsSubBuffer=false, const property_list &PropertyList={})
 
 AccessorBaseHost (id< 3 > Offset, range< 3 > AccessRange, range< 3 > MemoryRange, access::mode AccessMode, void *SYCLMemObject, int Dims, int ElemSize, bool IsPlaceH, size_t OffsetInBytes=0, bool IsSubBuffer=false, const property_list &PropertyList={})
 
id< 3 > & getOffset ()
 
range< 3 > & getAccessRange ()
 
range< 3 > & getMemoryRange ()
 
void * getPtr () noexcept
 
unsigned int getElemSize () const
 
const id< 3 > & getOffset () const
 
const range< 3 > & getAccessRange () const
 
const range< 3 > & getMemoryRange () const
 
void * getPtr () const noexcept
 
bool isPlaceholder () const
 
bool isMemoryObjectUsedByGraph () const
 
detail::AccHostDataTgetAccData ()
 
const property_listgetPropList () const
 
void * getMemoryObject () const
 
template<class Obj >
decltype(Obj::impl) friend getSyclObjImpl (const Obj &SyclObject)
 

Protected Member Functions

 image_accessor (const AccessorImplPtr &Impl)
 
- Protected Member Functions inherited from sycl::_V1::detail::AccessorBaseHost
 AccessorBaseHost (const AccessorImplPtr &Impl)
 

Friends

template<typename T1 , int T2, access::mode T3, access::placeholder T4>
class __image_array_slice__
 
class sycl::ext::intel::esimd::detail::AccessorPrivateProxy
 

Additional Inherited Members

- Public Attributes inherited from sycl::_V1::detail::AccessorBaseHost
AccessorImplPtr impl
 

Detailed Description

template<typename DataT, int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
class sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >

Definition at line 811 of file accessor.hpp.

Member Typedef Documentation

◆ const_reference

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
using sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::const_reference = const DataT &

Definition at line 921 of file accessor.hpp.

◆ reference

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
using sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::reference = DataT &

Definition at line 920 of file accessor.hpp.

◆ value_type

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
using sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::value_type = DataT

Definition at line 919 of file accessor.hpp.

Constructor & Destructor Documentation

◆ image_accessor() [1/3]

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::image_accessor ( const AccessorImplPtr Impl)
inlineprotected

Definition at line 908 of file accessor.hpp.

◆ image_accessor() [2/3]

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
template<typename AllocatorT , int Dims = Dimensions, typename = std::enable_if_t<(Dims > 0 && Dims <= 3) && IsHostImageAcc>>
sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::image_accessor ( image< Dims, AllocatorT > &  ImageRef,
int  ImageElementSize 
)
inline

Definition at line 936 of file accessor.hpp.

◆ image_accessor() [3/3]

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
template<typename AllocatorT , int Dims = Dimensions, typename = std::enable_if_t<(Dims > 0 && Dims <= 3) && IsImageAcc>>
sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::image_accessor ( image< Dims, AllocatorT > &  ImageRef,
handler CommandGroupHandlerRef,
int  ImageElementSize 
)
inline

Definition at line 963 of file accessor.hpp.

Member Function Documentation

◆ __SYCL2020_DEPRECATED()

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::__SYCL2020_DEPRECATED ( "get_count() is  deprecated,
please use size() instead  
) const
inline

Definition at line 1037 of file accessor.hpp.

◆ get_range()

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
template<int Dims = Dimensions, typename = std::enable_if_t<(Dims > 0)>>
range<Dims> sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::get_range ( ) const
inline

Definition at line 1042 of file accessor.hpp.

◆ operator!=()

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
bool sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::operator!= ( const image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder > &  Rhs) const
inline

Definition at line 1004 of file accessor.hpp.

◆ operator==()

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
bool sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::operator== ( const image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder > &  Rhs) const
inline

Definition at line 996 of file accessor.hpp.

References sycl::_V1::detail::AccessorBaseHost::impl.

◆ read() [1/2]

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
template<typename CoordT , int Dims = Dimensions, typename = std::enable_if_t< (Dims > 0) && (IsValidCoordDataT<Dims, CoordT>::value) && (detail::is_genint_v<CoordT>)&&( (IsImageAcc && IsImageAccessReadOnly) || (IsHostImageAcc && IsImageAccessAnyRead))>>
DataT sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::read ( const CoordT &  Coords) const
inline

Definition at line 1058 of file accessor.hpp.

References sycl::_V1::nearest, sycl::_V1::none, and sycl::_V1::unnormalized.

◆ read() [2/2]

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
template<typename CoordT , int Dims = Dimensions, typename = std::enable_if_t< (Dims > 0) && (IsValidCoordDataT<Dims, CoordT>::value) && ((IsImageAcc && IsImageAccessReadOnly) || (IsHostImageAcc && IsImageAccessAnyRead))>>
DataT sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::read ( const CoordT &  Coords,
const sampler &  Smpl 
) const
inline

◆ size()

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
size_t sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::size ( ) const
inlinenoexcept

Definition at line 1039 of file accessor.hpp.

◆ write()

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
template<typename CoordT , int Dims = Dimensions, typename = std::enable_if_t<(Dims > 0) && (detail::is_genint_v<CoordT>)&&( IsValidCoordDataT<Dims, CoordT>::value) && ((IsImageAcc && IsImageAccessWriteOnly) || (IsHostImageAcc && IsImageAccessAnyWrite))>>
void sycl::_V1::detail::image_accessor< DataT, Dimensions, AccessMode, AccessTarget, IsPlaceholder >::write ( const CoordT &  Coords,
const DataT &  Color 
) const
inline

Friends And Related Function Documentation

◆ __image_array_slice__

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
template<typename T1 , int T2, access::mode T3, access::placeholder T4>
friend class __image_array_slice__
friend

Definition at line 833 of file accessor.hpp.

◆ sycl::ext::intel::esimd::detail::AccessorPrivateProxy

template<typename DataT , int Dimensions, access::mode AccessMode, access::target AccessTarget, access::placeholder IsPlaceholder>
friend class sycl::ext::intel::esimd::detail::AccessorPrivateProxy
friend

Definition at line 912 of file accessor.hpp.


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