DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::multi_ptr< const void, Space, DecorateAddress > Class Template Reference

Specialization of multi_ptr for const void. More...

#include <sycl/multi_ptr.hpp>

Collaboration diagram for sycl::_V1::multi_ptr< const void, Space, DecorateAddress >:

Public Types

using value_type = const void
 
using pointer = std::conditional_t< is_decorated, decorated_type *, std::add_pointer_t< value_type > >
 
using difference_type = std::ptrdiff_t
 

Public Member Functions

 multi_ptr ()
 
 multi_ptr (const multi_ptr &)=default
 
 multi_ptr (multi_ptr &&)=default
 
 multi_ptr (typename multi_ptr< const void, Space, access::decorated::yes >::pointer ptr)
 
 multi_ptr (std::nullptr_t)
 
template<typename ElementType , int Dimensions, access::mode Mode, access::placeholder isPlaceholder, typename PropertyListT , access::address_space RelaySpace = Space, typename = typename std::enable_if_t< RelaySpace == Space && (Space == access::address_space::global_space || Space == access::address_space::generic_space || Space == access::address_space::ext_intel_global_device_space)>>
 multi_ptr (accessor< ElementType, Dimensions, Mode, target::device, isPlaceholder, PropertyListT > Accessor)
 
template<typename ElementType , int Dimensions, access::mode Mode, access::placeholder isPlaceholder, typename PropertyListT , access::address_space RelaySpace = Space, typename = typename std::enable_if_t< RelaySpace == Space && Space == access::address_space::local_space>>
 __SYCL2020_DEPRECATED ("multi_ptr construction using target::local specialized " "accessor is deprecated since SYCL 2020") multi_ptr(accessor< ElementType
 
PropertyListT int access::address_space multi_ptroperator= (multi_ptr &&)=default
 
multi_ptroperator= (std::nullptr_t)
 
pointer get () const
 
 __SYCL2020_DEPRECATED ("Conversion to pointer type is deprecated since SYCL " "2020. Please use get() instead.") operator pointer() const
 
template<typename ElementType , typename = typename std::enable_if_t<std::is_const_v<ElementType>>>
 operator multi_ptr< ElementType, Space, DecorateAddress > () 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 std::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< const void, GlobalSpace, DecorateAddress > () const
 

Public Attributes

 Dimensions
 
 Mode
 
 isPlaceholder
 
PropertyListT Accessor: multi_ptr(Accessor.get_pointer().get()) {} template <typename ElementType
 
PropertyListT int Dimensions
 
PropertyListT int access::address_space RelaySpace = Space
 

Static Public Attributes

static constexpr bool is_decorated
 
static constexpr access::address_space address_space = Space
 

Detailed Description

template<access::address_space Space, access::decorated DecorateAddress>
class sycl::_V1::multi_ptr< const void, Space, DecorateAddress >

Specialization of multi_ptr for const void.

Definition at line 447 of file multi_ptr.hpp.

Member Typedef Documentation

◆ difference_type

template<access::address_space Space, access::decorated DecorateAddress>
using sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::difference_type = std::ptrdiff_t

Definition at line 460 of file multi_ptr.hpp.

◆ pointer

template<access::address_space Space, access::decorated DecorateAddress>
using sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::pointer = std::conditional_t<is_decorated, decorated_type *, std::add_pointer_t<value_type> >

Definition at line 458 of file multi_ptr.hpp.

◆ value_type

template<access::address_space Space, access::decorated DecorateAddress>
using sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::value_type = const void

Definition at line 457 of file multi_ptr.hpp.

Constructor & Destructor Documentation

◆ multi_ptr() [1/6]

template<access::address_space Space, access::decorated DecorateAddress>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::multi_ptr ( )
inline

Definition at line 468 of file multi_ptr.hpp.

◆ multi_ptr() [2/6]

template<access::address_space Space, access::decorated DecorateAddress>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::multi_ptr ( const multi_ptr< const void, Space, DecorateAddress > &  )
default

◆ multi_ptr() [3/6]

template<access::address_space Space, access::decorated DecorateAddress>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::multi_ptr ( multi_ptr< const void, Space, DecorateAddress > &&  )
default

◆ multi_ptr() [4/6]

template<access::address_space Space, access::decorated DecorateAddress>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::multi_ptr ( typename multi_ptr< const void, Space, access::decorated::yes >::pointer  ptr)
inlineexplicit

Definition at line 471 of file multi_ptr.hpp.

◆ multi_ptr() [5/6]

template<access::address_space Space, access::decorated DecorateAddress>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::multi_ptr ( std::nullptr_t  )
inline

Definition at line 474 of file multi_ptr.hpp.

◆ multi_ptr() [6/6]

template<access::address_space Space, access::decorated DecorateAddress>
template<typename ElementType , int Dimensions, access::mode Mode, access::placeholder isPlaceholder, typename PropertyListT , access::address_space RelaySpace = Space, typename = typename std::enable_if_t< RelaySpace == Space && (Space == access::address_space::global_space || Space == access::address_space::generic_space || Space == access::address_space::ext_intel_global_device_space)>>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::multi_ptr ( accessor< ElementType, Dimensions, Mode, target::device, isPlaceholder, PropertyListT >  Accessor)
inline

Definition at line 487 of file multi_ptr.hpp.

Member Function Documentation

◆ __SYCL2020_DEPRECATED() [1/2]

template<access::address_space Space, access::decorated DecorateAddress>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::__SYCL2020_DEPRECATED ( "Conversion to pointer type is deprecated since SYCL " "2020. Please use get() instead."  ) const
inline

◆ __SYCL2020_DEPRECATED() [2/2]

template<access::address_space Space, access::decorated DecorateAddress>
template<typename ElementType , int Dimensions, access::mode Mode, access::placeholder isPlaceholder, typename PropertyListT , access::address_space RelaySpace = Space, typename = typename std::enable_if_t< RelaySpace == Space && Space == access::address_space::local_space>>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::__SYCL2020_DEPRECATED ( "multi_ptr< const void, Space, DecorateAddress > construction using target::local specialized " "accessor is deprecated since SYCL 2020"  )

◆ get()

template<access::address_space Space, access::decorated DecorateAddress>
pointer sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::get ( ) const
inline

Definition at line 544 of file multi_ptr.hpp.

◆ operator multi_ptr< const void, GlobalSpace, DecorateAddress >()

template<access::address_space Space, access::decorated DecorateAddress>
template<access::address_space GlobalSpace = access::address_space::global_space, access::address_space RelaySpace = Space, typename = typename std::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)>>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::operator multi_ptr< const void, GlobalSpace, DecorateAddress > ( ) const
inlineexplicit

Definition at line 581 of file multi_ptr.hpp.

References sycl::_V1::access::yes.

◆ operator multi_ptr< ElementType, Space, DecorateAddress >()

template<access::address_space Space, access::decorated DecorateAddress>
template<typename ElementType , typename = typename std::enable_if_t<std::is_const_v<ElementType>>>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::operator multi_ptr< ElementType, Space, DecorateAddress > ( ) const
inlineexplicit

Definition at line 554 of file multi_ptr.hpp.

References sycl::_V1::detail::cast_AS(), and sycl::_V1::access::yes.

◆ operator multi_ptr< value_type, Space, detail::NegateDecorated< DecorateAddress >::value >()

template<access::address_space Space, access::decorated DecorateAddress>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::operator multi_ptr< value_type, Space, detail::NegateDecorated< DecorateAddress >::value > ( ) const
inline

Definition at line 562 of file multi_ptr.hpp.

◆ operator=() [1/2]

template<access::address_space Space, access::decorated DecorateAddress>
PropertyListT int access::address_space multi_ptr& sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::operator= ( multi_ptr< const void, Space, DecorateAddress > &&  )
default

◆ operator=() [2/2]

template<access::address_space Space, access::decorated DecorateAddress>
multi_ptr& sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::operator= ( std::nullptr_t  )
inline

Definition at line 539 of file multi_ptr.hpp.

Member Data Documentation

◆ Accessor

template<access::address_space Space, access::decorated DecorateAddress>
PropertyListT sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::Accessor

Definition at line 506 of file multi_ptr.hpp.

◆ address_space

template<access::address_space Space, access::decorated DecorateAddress>
constexpr access::address_space sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::address_space = Space
staticconstexpr

Definition at line 455 of file multi_ptr.hpp.

◆ Dimensions [1/2]

template<access::address_space Space, access::decorated DecorateAddress>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::Dimensions

Definition at line 504 of file multi_ptr.hpp.

◆ Dimensions [2/2]

template<access::address_space Space, access::decorated DecorateAddress>
PropertyListT int sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::Dimensions

Definition at line 510 of file multi_ptr.hpp.

◆ is_decorated

template<access::address_space Space, access::decorated DecorateAddress>
constexpr bool sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::is_decorated
staticconstexpr
Initial value:

Definition at line 453 of file multi_ptr.hpp.

◆ isPlaceholder

template<access::address_space Space, access::decorated DecorateAddress>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::isPlaceholder

Definition at line 505 of file multi_ptr.hpp.

◆ Mode

template<access::address_space Space, access::decorated DecorateAddress>
sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::Mode

Definition at line 504 of file multi_ptr.hpp.

◆ RelaySpace

template<access::address_space Space, access::decorated DecorateAddress>
PropertyListT int access::address_space sycl::_V1::multi_ptr< const void, Space, DecorateAddress >::RelaySpace = Space

Definition at line 511 of file multi_ptr.hpp.


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