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

#include <CL/sycl/multi_ptr.hpp>

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

Public Types

using element_type = const void
 
using difference_type = std::ptrdiff_t
 
using pointer_t = typename detail::DecoratedType< const void, Space >::type *
 
using const_pointer_t = typename detail::DecoratedType< const void, Space >::type const *
 

Public Member Functions

 multi_ptr ()
 
 multi_ptr (const multi_ptr &)=default
 
 multi_ptr (multi_ptr &&)=default
 
 multi_ptr (pointer_t pointer)
 
 multi_ptr (std::nullptr_t)
 
 ~multi_ptr ()=default
 
template<typename ElementType >
 multi_ptr (const multi_ptr< ElementType, Space > &ETP)
 
multi_ptroperator= (const multi_ptr &)=default
 
multi_ptroperator= (multi_ptr &&)=default
 
multi_ptroperator= (pointer_t pointer)
 
multi_ptroperator= (std::nullptr_t)
 
template<typename ElementType , int dimensions, access::mode Mode, typename PropertyListT , access::address_space _Space = Space, typename = typename detail::enable_if_t< _Space == Space && (Space == access::address_space::generic_space || Space == access::address_space::global_space || Space == access::address_space::global_device_space)>>
 multi_ptr (accessor< ElementType, dimensions, Mode, access::target::device, access::placeholder::false_t, PropertyListT > Accessor)
 
template<typename ElementType , int dimensions, access::mode Mode, typename PropertyListT , access::address_space _Space = Space, typename = typename detail::enable_if_t< _Space == Space && (Space == access::address_space::generic_space || Space == access::address_space::local_space)>>
 multi_ptr (accessor< ElementType, dimensions, Mode, access::target::local, access::placeholder::false_t, PropertyListT > Accessor)
 
template<typename ElementType , int dimensions, access::mode Mode, typename PropertyListT , access::address_space _Space = Space, typename = typename detail::enable_if_t< _Space == Space && Space == access::address_space::constant_space>>
 multi_ptr (accessor< ElementType, dimensions, Mode, access::target::constant_buffer, access::placeholder::false_t, PropertyListT > Accessor)
 
pointer_t get () const
 
 operator const void * () const
 
template<typename ElementType >
 operator multi_ptr< const ElementType, Space > () const
 

Static Public Attributes

static constexpr access::address_space address_space = Space
 

Detailed Description

template<access::address_space Space>
class cl::sycl::multi_ptr< const void, Space >

Definition at line 460 of file multi_ptr.hpp.

Member Typedef Documentation

◆ const_pointer_t

template<access::address_space Space>
using cl::sycl::multi_ptr< const void, Space >::const_pointer_t = typename detail::DecoratedType<const void, Space>::type const *

Definition at line 469 of file multi_ptr.hpp.

◆ difference_type

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

Definition at line 463 of file multi_ptr.hpp.

◆ element_type

template<access::address_space Space>
using cl::sycl::multi_ptr< const void, Space >::element_type = const void

Definition at line 462 of file multi_ptr.hpp.

◆ pointer_t

template<access::address_space Space>
using cl::sycl::multi_ptr< const void, Space >::pointer_t = typename detail::DecoratedType<const void, Space>::type *

Definition at line 467 of file multi_ptr.hpp.

Constructor & Destructor Documentation

◆ multi_ptr() [1/9]

template<access::address_space Space>
cl::sycl::multi_ptr< const void, Space >::multi_ptr ( )
inline

Definition at line 474 of file multi_ptr.hpp.

◆ multi_ptr() [2/9]

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

◆ multi_ptr() [3/9]

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

◆ multi_ptr() [4/9]

template<access::address_space Space>
cl::sycl::multi_ptr< const void, Space >::multi_ptr ( pointer_t  pointer)
inline

Definition at line 477 of file multi_ptr.hpp.

◆ multi_ptr() [5/9]

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

Definition at line 488 of file multi_ptr.hpp.

◆ ~multi_ptr()

template<access::address_space Space>
cl::sycl::multi_ptr< const void, Space >::~multi_ptr ( )
default

◆ multi_ptr() [6/9]

template<access::address_space Space>
template<typename ElementType >
cl::sycl::multi_ptr< const void, Space >::multi_ptr ( const multi_ptr< ElementType, Space > &  ETP)
inline

Definition at line 496 of file multi_ptr.hpp.

◆ multi_ptr() [7/9]

template<access::address_space Space>
template<typename ElementType , int dimensions, access::mode Mode, typename PropertyListT , access::address_space _Space = Space, typename = typename detail::enable_if_t< _Space == Space && (Space == access::address_space::generic_space || Space == access::address_space::global_space || Space == access::address_space::global_device_space)>>
cl::sycl::multi_ptr< const void, Space >::multi_ptr ( accessor< ElementType, dimensions, Mode, access::target::device, access::placeholder::false_t, PropertyListT >  Accessor)
inline

Definition at line 526 of file multi_ptr.hpp.

◆ multi_ptr() [8/9]

template<access::address_space Space>
template<typename ElementType , int dimensions, access::mode Mode, typename PropertyListT , access::address_space _Space = Space, typename = typename detail::enable_if_t< _Space == Space && (Space == access::address_space::generic_space || Space == access::address_space::local_space)>>
cl::sycl::multi_ptr< const void, Space >::multi_ptr ( accessor< ElementType, dimensions, Mode, access::target::local, access::placeholder::false_t, PropertyListT >  Accessor)
inline

Definition at line 538 of file multi_ptr.hpp.

◆ multi_ptr() [9/9]

template<access::address_space Space>
template<typename ElementType , int dimensions, access::mode Mode, typename PropertyListT , access::address_space _Space = Space, typename = typename detail::enable_if_t< _Space == Space && Space == access::address_space::constant_space>>
cl::sycl::multi_ptr< const void, Space >::multi_ptr ( accessor< ElementType, dimensions, Mode, access::target::constant_buffer, access::placeholder::false_t, PropertyListT >  Accessor)
inline

Definition at line 549 of file multi_ptr.hpp.

Member Function Documentation

◆ get()

template<access::address_space Space>
pointer_t cl::sycl::multi_ptr< const void, Space >::get ( ) const
inline

Definition at line 556 of file multi_ptr.hpp.

◆ operator const void *()

template<access::address_space Space>
cl::sycl::multi_ptr< const void, Space >::operator const void * ( ) const
inline

Definition at line 559 of file multi_ptr.hpp.

◆ operator multi_ptr< const ElementType, Space >()

template<access::address_space Space>
template<typename ElementType >
cl::sycl::multi_ptr< const void, Space >::operator multi_ptr< const ElementType, Space > ( ) const
inlineexplicit

Definition at line 567 of file multi_ptr.hpp.

◆ operator=() [1/4]

template<access::address_space Space>
multi_ptr& cl::sycl::multi_ptr< const void, Space >::operator= ( const multi_ptr< const void, Space > &  )
default

◆ operator=() [2/4]

template<access::address_space Space>
multi_ptr& cl::sycl::multi_ptr< const void, Space >::operator= ( multi_ptr< const void, Space > &&  )
default

◆ operator=() [3/4]

template<access::address_space Space>
multi_ptr& cl::sycl::multi_ptr< const void, Space >::operator= ( pointer_t  pointer)
inline

Definition at line 501 of file multi_ptr.hpp.

◆ operator=() [4/4]

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

Definition at line 513 of file multi_ptr.hpp.

Member Data Documentation

◆ address_space

template<access::address_space Space>
constexpr access::address_space cl::sycl::multi_ptr< const void, Space >::address_space = Space
staticconstexpr

Definition at line 471 of file multi_ptr.hpp.


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