Provides constructors for address space qualified and non address space qualified pointers to allow interoperability between plain C++ and OpenCL C.
More...
|
| multi_ptr () |
|
| multi_ptr (const multi_ptr &)=default |
|
| multi_ptr (multi_ptr &&)=default |
|
| multi_ptr (typename multi_ptr< ElementType, Space, access::decorated::yes >::pointer ptr) |
|
| multi_ptr (std::nullptr_t) |
|
template<int Dimensions, access::mode Mode, access::placeholder isPlaceholder, typename PropertyListT , access::address_space RelaySpace = Space, typename = typename detail::enable_if_t< RelaySpace == Space && (Space == access::address_space::generic_space || Space == access::address_space::global_space || Space == access::address_space::ext_intel_global_device_space)>> |
| multi_ptr (accessor< ElementType, Dimensions, Mode, access::target::device, isPlaceholder, PropertyListT > Accessor) |
|
template<int Dimensions, access::mode Mode, access::placeholder isPlaceholder, typename PropertyListT , access::address_space RelaySpace = Space, typename = typename detail::enable_if_t< RelaySpace == Space && (Space == access::address_space::generic_space || Space == access::address_space::local_space)>> |
| multi_ptr (accessor< ElementType, Dimensions, Mode, access::target::local, isPlaceholder, PropertyListT > Accessor) |
|
template<int Dimensions, access::address_space RelaySpace = Space, typename = typename detail::enable_if_t< RelaySpace == Space && (Space == access::address_space::generic_space || Space == access::address_space::local_space)>> |
| multi_ptr (local_accessor< ElementType, Dimensions > Accessor) |
|
template<int Dimensions, access::mode Mode, access::placeholder isPlaceholder, typename PropertyListT , access::address_space _Space = Space, typename RelayElementType = ElementType, typename = typename detail::enable_if_t< _Space == Space && (Space == access::address_space::generic_space || Space == access::address_space::global_space || Space == access::address_space::ext_intel_global_device_space) && std::is_const<RelayElementType>::value && std::is_same<RelayElementType, ElementType>::value>> |
| multi_ptr (accessor< typename detail::remove_const_t< RelayElementType >, Dimensions, Mode, access::target::device, isPlaceholder, PropertyListT > Accessor) |
|
template<int Dimensions, access::mode Mode, access::placeholder isPlaceholder, typename PropertyListT , access::address_space RelaySpace = Space, typename RelayElementType = ElementType, typename = typename detail::enable_if_t< RelaySpace == Space && (Space == access::address_space::generic_space || Space == access::address_space::local_space) && std::is_const<RelayElementType>::value && std::is_same<RelayElementType, ElementType>::value>> |
| multi_ptr (accessor< typename detail::remove_const_t< RelayElementType >, Dimensions, Mode, access::target::local, isPlaceholder, PropertyListT > Accessor) |
|
template<int Dimensions, access::address_space RelaySpace = Space, typename RelayElementType = ElementType, typename = typename detail::enable_if_t< RelaySpace == Space && (Space == access::address_space::generic_space || Space == access::address_space::local_space) && std::is_const<RelayElementType>::value && std::is_same<RelayElementType, ElementType>::value>> |
| multi_ptr (local_accessor< typename detail::remove_const_t< RelayElementType >, Dimensions > Accessor) |
|
multi_ptr & | operator= (const multi_ptr &)=default |
|
multi_ptr & | operator= (multi_ptr &&)=default |
|
multi_ptr & | operator= (std::nullptr_t) |
|
template<access::address_space OtherSpace, access::decorated OtherIsDecorated, typename = std::enable_if_t<Space == access::address_space::generic_space && OtherSpace != access::address_space::constant_space>> |
multi_ptr & | operator= (const multi_ptr< value_type, OtherSpace, OtherIsDecorated > &Other) |
|
template<access::address_space OtherSpace, access::decorated OtherIsDecorated, typename = std::enable_if_t<Space == access::address_space::generic_space && OtherSpace != access::address_space::constant_space>> |
multi_ptr & | operator= (multi_ptr< value_type, OtherSpace, OtherIsDecorated > &&Other) |
|
reference | operator* () const |
|
pointer | operator-> () const |
|
reference | operator[] (difference_type index) const |
|
pointer | get () const |
|
decorated_type * | get_decorated () const |
|
std::add_pointer_t< value_type > | get_raw () const |
|
| __SYCL2020_DEPRECATED ("Conversion to pointer type is deprecated since SYCL " "2020. Please use get() instead.") operator pointer() const |
|
template<access::address_space OtherSpace, access::decorated OtherIsDecorated, access::address_space RelaySpace = Space, typename = typename std::enable_if_t< RelaySpace == Space && RelaySpace == access::address_space::generic_space && (OtherSpace == access::address_space::private_space || OtherSpace == access::address_space::global_space || OtherSpace == access::address_space::local_space)>> |
| operator multi_ptr< value_type, OtherSpace, OtherIsDecorated > () |
|
template<access::address_space OtherSpace, access::decorated OtherIsDecorated, typename RelayElementType = ElementType, access::address_space RelaySpace = Space, typename = typename std::enable_if_t< std::is_same<RelayElementType, ElementType>::value && !std::is_const<RelayElementType>::value && RelaySpace == Space && RelaySpace == access::address_space::generic_space && (OtherSpace == access::address_space::private_space || OtherSpace == access::address_space::global_space || OtherSpace == access::address_space::local_space)>> |
| operator multi_ptr< const value_type, OtherSpace, OtherIsDecorated > () |
|
template<access::decorated ConvIsDecorated, typename RelayElementType = ElementType, typename = typename std::enable_if_t< std::is_same<RelayElementType, ElementType>::value && !std::is_const<RelayElementType>::value>> |
| operator multi_ptr< void, Space, ConvIsDecorated > () const |
|
template<access::decorated ConvIsDecorated, typename RelayElementType = ElementType, typename = typename std::enable_if_t< std::is_same<RelayElementType, ElementType>::value && std::is_const<RelayElementType>::value>> |
| operator multi_ptr< const void, Space, ConvIsDecorated > () const |
|
template<access::decorated ConvIsDecorated> |
| operator multi_ptr< const value_type, Space, ConvIsDecorated > () const |
|
| operator multi_ptr< value_type, Space, detail::NegateDecorated< DecorateAddress >::value > () const |
|
template<access::address_space GlobalSpace = access::address_space::global_space, access::address_space RelaySpace = Space, typename = typename detail::enable_if_t< RelaySpace == Space && GlobalSpace == access::address_space::global_space && (Space == access::address_space::ext_intel_global_device_space || Space == access::address_space::ext_intel_global_host_space)>> |
| operator multi_ptr< ElementType, GlobalSpace, DecorateAddress > () const |
|
template<access::address_space _Space = Space, typename = typename detail::enable_if_t< _Space == Space && Space == access::address_space::global_space>> |
void | prefetch (size_t NumElements) const |
|
multi_ptr & | operator++ () |
|
multi_ptr | operator++ (int) |
|
multi_ptr & | operator-- () |
|
multi_ptr | operator-- (int) |
|
multi_ptr & | operator+= (difference_type r) |
|
multi_ptr & | operator-= (difference_type r) |
|
multi_ptr | operator+ (difference_type r) const |
|
multi_ptr | operator- (difference_type r) const |
|
template<typename ElementType, access::address_space Space, access::decorated DecorateAddress = access::decorated::legacy>
class sycl::_V1::multi_ptr< ElementType, Space, DecorateAddress >
Provides constructors for address space qualified and non address space qualified pointers to allow interoperability between plain C++ and OpenCL C.
Definition at line 34 of file atomic.hpp.