DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::host_accessor< DataT, Dimensions > Class Template Reference

#include <sycl/accessor.hpp>

Inheritance diagram for sycl::_V1::host_accessor< DataT, Dimensions >:
Collaboration diagram for sycl::_V1::host_accessor< DataT, Dimensions >:

Classes

struct  IsSameAsBuffer
 

Public Member Functions

 host_accessor ()
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = typename std::enable_if_t<std::is_same_v<T, DataT> && Dims == 0>>
 host_accessor (buffer< T, 1, AllocatorT > &BufferRef, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, mode_tag_t< AccessMode >, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, handler &CommandGroupHandler, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, handler &CommandGroupHandler, mode_tag_t< AccessMode >, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, range< Dimensions > AccessRange, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, range< Dimensions > AccessRange, mode_tag_t< AccessMode >, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, handler &CommandGroupHandler, range< Dimensions > AccessRange, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, handler &CommandGroupHandler, range< Dimensions > AccessRange, mode_tag_t< AccessMode >, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, range< Dimensions > AccessRange, id< Dimensions > AccessOffset, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, range< Dimensions > AccessRange, id< Dimensions > AccessOffset, mode_tag_t< AccessMode >, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, handler &CommandGroupHandler, range< Dimensions > AccessRange, id< Dimensions > AccessOffset, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
 host_accessor (buffer< T, Dims, AllocatorT > &BufferRef, handler &CommandGroupHandler, range< Dimensions > AccessRange, id< Dimensions > AccessOffset, mode_tag_t< AccessMode >, const property_list &PropertyList={}, const detail::code_location CodeLoc=detail::code_location::current())
 
template<int Dims = Dimensions, typename = std::enable_if_t<AccessMode != access_mode::atomic && !IsAccessReadOnly && Dims == 0>>
const host_accessoroperator= (const typename AccessorT::value_type &Other) const
 
template<int Dims = Dimensions, typename = std::enable_if_t<AccessMode != access_mode::atomic && !IsAccessReadOnly && Dims == 0>>
const host_accessoroperator= (typename AccessorT::value_type &&Other) const
 
template<typename DataT_ , typename = std::enable_if_t< IsAccessReadOnly && !std::is_same_v<DataT_, DataT> && std::is_same_v<std::remove_const_t<DataT_>, std::remove_const_t<DataT>>>>
 host_accessor (const host_accessor< DataT_, Dimensions, AccessMode > &other)
 
template<typename DataT_ , access::mode AccessMode_, typename = std::enable_if_t< (AccessMode_ == access_mode::read_write) && IsAccessReadOnly && std::is_same_v<DataT_, std::remove_const_t<DataT>>>>
 host_accessor (const host_accessor< DataT_, Dimensions, AccessMode_ > &other)
 
bool ext_oneapi_owner_before (const ext::oneapi::detail::weak_object_base< host_accessor > &Other) const noexcept
 
bool ext_oneapi_owner_before (const host_accessor &Other) const noexcept
 

Protected Types

using AccessorT = accessor< DataT, Dimensions, AccessMode, target::host_buffer, access::placeholder::false_t >
 

Protected Member Functions

void __init (typename accessor< DataT, Dimensions, AccessMode, target::host_buffer, access::placeholder::false_t >::ConcreteASPtrType Ptr, range< AdjustedDim > AccessRange, range< AdjustedDim > MemRange, id< AdjustedDim > Offset)
 
 host_accessor (const detail::AccessorImplPtr &Impl)
 
template<class Obj >
frienddecltype(Obj::impl) const & getSyclObjImpl (const Obj &SyclObject)
 

Static Protected Attributes

constexpr static int AdjustedDim = Dimensions == 0 ? 1 : Dimensions
 
constexpr static bool IsAccessReadOnly = AccessMode == access::mode::read
 

Friends

template<class T >
detail::createSyclObjFromImpl (decltype(T::impl) ImplObj)
 

Detailed Description

template<typename DataT, int Dimensions = 1>
class sycl::_V1::host_accessor< DataT, Dimensions >

Definition at line 2631 of file accessor.hpp.

Member Typedef Documentation

◆ AccessorT

template<typename DataT , int Dimensions = 1>
using sycl::_V1::host_accessor< DataT, Dimensions >::AccessorT = accessor<DataT, Dimensions, AccessMode, target::host_buffer, access::placeholder::false_t>
protected

Definition at line 2635 of file accessor.hpp.

Constructor & Destructor Documentation

◆ host_accessor() [1/17]

template<typename DataT , int Dimensions = 1>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( const detail::AccessorImplPtr Impl)
inlineprotected

Definition at line 2655 of file accessor.hpp.

◆ host_accessor() [2/17]

template<typename DataT , int Dimensions = 1>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( )
inline

Definition at line 2667 of file accessor.hpp.

◆ host_accessor() [3/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = typename std::enable_if_t<std::is_same_v<T, DataT> && Dims == 0>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, 1, AllocatorT > &  BufferRef,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2695 of file accessor.hpp.

◆ host_accessor() [4/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2703 of file accessor.hpp.

◆ host_accessor() [5/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
mode_tag_t< AccessMode ,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2711 of file accessor.hpp.

◆ host_accessor() [6/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
handler CommandGroupHandler,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2719 of file accessor.hpp.

◆ host_accessor() [7/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
handler CommandGroupHandler,
mode_tag_t< AccessMode ,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2727 of file accessor.hpp.

◆ host_accessor() [8/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
range< Dimensions AccessRange,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2735 of file accessor.hpp.

◆ host_accessor() [9/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
range< Dimensions AccessRange,
mode_tag_t< AccessMode ,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2743 of file accessor.hpp.

◆ host_accessor() [10/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
handler CommandGroupHandler,
range< Dimensions AccessRange,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2751 of file accessor.hpp.

◆ host_accessor() [11/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
handler CommandGroupHandler,
range< Dimensions AccessRange,
mode_tag_t< AccessMode ,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2760 of file accessor.hpp.

◆ host_accessor() [12/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
range< Dimensions AccessRange,
id< Dimensions AccessOffset,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2770 of file accessor.hpp.

◆ host_accessor() [13/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
range< Dimensions AccessRange,
id< Dimensions AccessOffset,
mode_tag_t< AccessMode ,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2779 of file accessor.hpp.

◆ host_accessor() [14/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
handler CommandGroupHandler,
range< Dimensions AccessRange,
id< Dimensions AccessOffset,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2789 of file accessor.hpp.

◆ host_accessor() [15/17]

template<typename DataT , int Dimensions = 1>
template<typename T = DataT, int Dims = Dimensions, typename AllocatorT , typename = std::enable_if_t<IsSameAsBuffer<T, Dims>::value>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( buffer< T, Dims, AllocatorT > &  BufferRef,
handler CommandGroupHandler,
range< Dimensions AccessRange,
id< Dimensions AccessOffset,
mode_tag_t< AccessMode ,
const property_list PropertyList = {},
const detail::code_location  CodeLoc = detail::code_location::current() 
)
inline

Definition at line 2799 of file accessor.hpp.

◆ host_accessor() [16/17]

template<typename DataT , int Dimensions = 1>
template<typename DataT_ , typename = std::enable_if_t< IsAccessReadOnly && !std::is_same_v<DataT_, DataT> && std::is_same_v<std::remove_const_t<DataT_>, std::remove_const_t<DataT>>>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( const host_accessor< DataT_, Dimensions, AccessMode > &  other)
inline

Definition at line 2830 of file accessor.hpp.

◆ host_accessor() [17/17]

template<typename DataT , int Dimensions = 1>
template<typename DataT_ , access::mode AccessMode_, typename = std::enable_if_t< (AccessMode_ == access_mode::read_write) && IsAccessReadOnly && std::is_same_v<DataT_, std::remove_const_t<DataT>>>>
sycl::_V1::host_accessor< DataT, Dimensions >::host_accessor ( const host_accessor< DataT_, Dimensions, AccessMode_ > &  other)
inline

Definition at line 2846 of file accessor.hpp.

Member Function Documentation

◆ __init()

template<typename DataT , int Dimensions = 1>
void sycl::_V1::host_accessor< DataT, Dimensions >::__init ( typename accessor< DataT, Dimensions, AccessMode, target::host_buffer, access::placeholder::false_t >::ConcreteASPtrType  Ptr,
range< AdjustedDim AccessRange,
range< AdjustedDim MemRange,
id< AdjustedDim Offset 
)
inlineprotected

Definition at line 2647 of file accessor.hpp.

◆ ext_oneapi_owner_before() [1/2]

template<typename DataT , int Dimensions = 1>
bool sycl::_V1::host_accessor< DataT, Dimensions >::ext_oneapi_owner_before ( const ext::oneapi::detail::weak_object_base< host_accessor< DataT, Dimensions > > &  Other) const
inlinenoexcept

◆ ext_oneapi_owner_before() [2/2]

template<typename DataT , int Dimensions = 1>
bool sycl::_V1::host_accessor< DataT, Dimensions >::ext_oneapi_owner_before ( const host_accessor< DataT, Dimensions > &  Other) const
inlinenoexcept

Definition at line 2868 of file accessor.hpp.

◆ getSyclObjImpl()

template<typename DataT , int Dimensions = 1>
template<class Obj >
frienddecltype(Obj::impl) const& sycl::_V1::host_accessor< DataT, Dimensions >::getSyclObjImpl ( const Obj &  SyclObject)
protected

◆ operator=() [1/2]

template<typename DataT , int Dimensions = 1>
template<int Dims = Dimensions, typename = std::enable_if_t<AccessMode != access_mode::atomic && !IsAccessReadOnly && Dims == 0>>
const host_accessor& sycl::_V1::host_accessor< DataT, Dimensions >::operator= ( const typename AccessorT::value_type &  Other) const
inline

Definition at line 2811 of file accessor.hpp.

◆ operator=() [2/2]

template<typename DataT , int Dimensions = 1>
template<int Dims = Dimensions, typename = std::enable_if_t<AccessMode != access_mode::atomic && !IsAccessReadOnly && Dims == 0>>
const host_accessor& sycl::_V1::host_accessor< DataT, Dimensions >::operator= ( typename AccessorT::value_type &&  Other) const
inline

Definition at line 2819 of file accessor.hpp.

Friends And Related Function Documentation

◆ detail::createSyclObjFromImpl

template<typename DataT , int Dimensions = 1>
template<class T >
T detail::createSyclObjFromImpl ( decltype(T::impl)  ImplObj)
friend

Member Data Documentation

◆ AdjustedDim

template<typename DataT , int Dimensions = 1>
constexpr static int sycl::_V1::host_accessor< DataT, Dimensions >::AdjustedDim = Dimensions == 0 ? 1 : Dimensions
staticconstexprprotected

Definition at line 2638 of file accessor.hpp.

◆ IsAccessReadOnly

template<typename DataT , int Dimensions = 1>
constexpr static bool sycl::_V1::host_accessor< DataT, Dimensions >::IsAccessReadOnly = AccessMode == access::mode::read
staticconstexprprotected

Definition at line 2639 of file accessor.hpp.


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