Local accessor. More...
#include <sycl/accessor.hpp>
Public Types | |
using | value_type = DataT |
using | reference = DataT & |
using | const_reference = const DataT & |
Public Member Functions | |
local_accessor_base () | |
template<int Dims = Dimensions, typename = detail::enable_if_t<Dims == 0>> | |
local_accessor_base (handler &, const detail::code_location CodeLoc=detail::code_location::current()) | |
template<int Dims = Dimensions, typename = detail::enable_if_t<Dims == 0>> | |
local_accessor_base (handler &, const property_list &propList, const detail::code_location CodeLoc=detail::code_location::current()) | |
template<int Dims = Dimensions, typename = detail::enable_if_t<(Dims > 0)>> | |
local_accessor_base (range< Dimensions > AllocationSize, handler &, const detail::code_location CodeLoc=detail::code_location::current()) | |
template<int Dims = Dimensions, typename = detail::enable_if_t<(Dims > 0)>> | |
local_accessor_base (range< Dimensions > AllocationSize, handler &, const property_list &propList, const detail::code_location CodeLoc=detail::code_location::current()) | |
size_t | get_size () 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 = detail::enable_if_t<(Dims > 0)>> | |
range< Dims > | get_range () const |
template<int Dims = Dimensions, typename = detail::enable_if_t<Dims == 0 && IsAccessAnyWrite>> | |
operator RefType () const | |
template<int Dims = Dimensions, typename = detail::enable_if_t<(Dims > 0) && IsAccessAnyWrite>> | |
RefType | operator[] (id< Dimensions > Index) const |
template<int Dims = Dimensions, typename = detail::enable_if_t<Dims == 1 && IsAccessAnyWrite>> | |
RefType | operator[] (size_t Index) const |
template<int Dims = Dimensions> | |
operator typename detail::enable_if_t< Dims==0 &&AccessMode==access::mode::atomic, atomic< DataT, AS >> () const | |
template<int Dims = Dimensions> | |
detail::enable_if_t<(Dims > 0) &&AccessMode==access::mode::atomic, atomic< DataT, AS > > | operator[] (id< Dimensions > Index) const |
template<int Dims = Dimensions> | |
detail::enable_if_t< Dims==1 &&AccessMode==access::mode::atomic, atomic< DataT, AS > > | operator[] (size_t Index) const |
template<int Dims = Dimensions, typename = detail::enable_if_t<(Dims > 1)>> | |
AccessorCommonT::template AccessorSubscript< Dims - 1, local_accessor_base< DataT, Dimensions, AccessMode, IsPlaceholder > > | operator[] (size_t Index) const |
bool | operator== (const local_accessor_base &Rhs) const |
bool | operator!= (const local_accessor_base &Rhs) const |
![]() | |
LocalAccessorBaseHost (sycl::range< 3 > Size, int Dims, int ElemSize, const property_list &PropertyList={}) | |
sycl::range< 3 > & | getSize () |
const sycl::range< 3 > & | getSize () const |
void * | getPtr () |
void * | getPtr () const |
int | getNumOfDims () |
int | getElementSize () |
const property_list & | getPropList () const |
Protected Types | |
using | AccessorCommonT = detail::accessor_common< DataT, Dimensions, AccessMode, access::target::local, IsPlaceholder > |
template<int Dims> | |
using | AccessorSubscript = typename AccessorCommonT::template AccessorSubscript< Dims, local_accessor_base< DataT, Dimensions, AccessMode, IsPlaceholder > > |
using | ConcreteASPtrType = typename detail::DecoratedType< DataT, AS >::type * |
using | RefType = detail::const_if_const_AS< AS, DataT > & |
using | PtrType = detail::const_if_const_AS< AS, DataT > * |
![]() | |
using | RefType = detail::const_if_const_AS< AS, DataT > & |
using | ConstRefType = const DataT & |
using | PtrType = detail::const_if_const_AS< AS, DataT > * |
Protected Member Functions | |
local_accessor_base (const detail::LocalAccessorImplPtr &Impl) | |
PtrType | getQualifiedPtr () const |
void * | getPtr () |
void * | getPtr () const |
const range< 3 > & | getSize () const |
range< 3 > & | getSize () |
void | GDBMethodsAnchor () |
template<int Dims = AdjustedDim> | |
size_t | getLinearIndex (id< Dims > Id) const |
![]() | |
LocalAccessorBaseHost (const LocalAccessorImplPtr &Impl) | |
template<class Obj > | |
decltype(Obj::impl) friend | getSyclObjImpl (const Obj &SyclObject) |
Protected Attributes | |
char | padding [sizeof(detail::LocalAccessorBaseDevice< AdjustedDim >)+sizeof(PtrType) - sizeof(detail::LocalAccessorBaseHost)] |
![]() | |
LocalAccessorImplPtr | impl |
Static Protected Attributes | |
constexpr static int | AdjustedDim = Dimensions == 0 ? 1 : Dimensions |
static constexpr bool | IsAccessAnyWrite = AccessorCommonT::IsAccessAnyWrite |
static constexpr bool | IsAccessReadOnly = AccessorCommonT::IsAccessReadOnly |
static constexpr bool | IsConst = AccessorCommonT::IsConst |
![]() | |
constexpr static access::address_space | AS |
constexpr static bool | IsHostBuf |
constexpr static bool | IsHostTask |
constexpr static bool | IsPlaceH |
constexpr static bool | IsGlobalBuf |
constexpr static bool | IsConstantBuf |
constexpr static bool | IsAccessAnyWrite |
constexpr static bool | IsAccessReadOnly |
static constexpr bool | IsConst |
constexpr static bool | IsAccessReadWrite |
constexpr static bool | IsAccessAtomic |
Friends | |
template<class T > | |
T | detail::createSyclObjFromImpl (decltype(T::impl) ImplObj) |
Local accessor.
Definition at line 2430 of file accessor.hpp.
|
protected |
Definition at line 2441 of file accessor.hpp.
|
protected |
Definition at line 2455 of file accessor.hpp.
|
protected |
Definition at line 2457 of file accessor.hpp.
using sycl::_V1::local_accessor_base< DataT, Dimensions, AccessMode, IsPlaceholder >::const_reference = const DataT & |
Definition at line 2537 of file accessor.hpp.
|
protected |
Definition at line 2460 of file accessor.hpp.
using sycl::_V1::local_accessor_base< DataT, Dimensions, AccessMode, IsPlaceholder >::reference = DataT & |
Definition at line 2536 of file accessor.hpp.
|
protected |
Definition at line 2459 of file accessor.hpp.
using sycl::_V1::local_accessor_base< DataT, Dimensions, AccessMode, IsPlaceholder >::value_type = DataT |
Definition at line 2535 of file accessor.hpp.
|
inline |
Definition at line 2487 of file accessor.hpp.
|
inlineprotected |
Definition at line 2492 of file accessor.hpp.
|
inline |
Definition at line 2540 of file accessor.hpp.
|
inline |
Definition at line 2554 of file accessor.hpp.
|
inline |
Definition at line 2571 of file accessor.hpp.
|
inline |
Definition at line 2587 of file accessor.hpp.
|
inline |
Definition at line 2606 of file accessor.hpp.
|
inlineprotected |
Definition at line 2511 of file accessor.hpp.
|
inline |
Definition at line 2611 of file accessor.hpp.
|
inline |
Definition at line 2604 of file accessor.hpp.
|
inlineprotected |
Definition at line 2524 of file accessor.hpp.
|
inlineprotected |
Definition at line 2503 of file accessor.hpp.
|
inlineprotected |
Definition at line 2504 of file accessor.hpp.
|
inlineprotected |
Definition at line 2499 of file accessor.hpp.
|
inlineprotected |
Definition at line 2508 of file accessor.hpp.
|
inlineprotected |
Definition at line 2505 of file accessor.hpp.
|
inline |
Definition at line 2617 of file accessor.hpp.
|
inline |
Definition at line 2636 of file accessor.hpp.
|
inline |
Definition at line 2670 of file accessor.hpp.
|
inline |
Definition at line 2667 of file accessor.hpp.
References sycl::_V1::detail::LocalAccessorBaseHost::impl.
|
inline |
Definition at line 2623 of file accessor.hpp.
References sycl::_V1::detail::getLinearIndex().
|
inline |
Definition at line 2645 of file accessor.hpp.
References sycl::_V1::detail::getLinearIndex().
|
inline |
Definition at line 2630 of file accessor.hpp.
|
inline |
Definition at line 2654 of file accessor.hpp.
|
inline |
Definition at line 2663 of file accessor.hpp.
|
inlinenoexcept |
Definition at line 2608 of file accessor.hpp.
|
friend |
|
staticconstexprprotected |
Definition at line 2437 of file accessor.hpp.
|
staticconstexprprotected |
Definition at line 2447 of file accessor.hpp.
|
staticconstexprprotected |
Definition at line 2448 of file accessor.hpp.
|
staticconstexprprotected |
Definition at line 2449 of file accessor.hpp.
|
protected |
Definition at line 2496 of file accessor.hpp.