cl::sycl::multi_ptr< const void, asp > Class Template Reference
Generic pointer class, specialization for const void. More...
#include <multi_pointer.h>
Public Types | |
using | value_type = typename multi_ptr_base::element_type |
using | difference_type = typename multi_ptr_base::difference_type |
using | pointer = typename multi_ptr_base::pointer_t |
using | pointer = typename multi_ptr_base::const_pointer_t |
Public Member Functions | |
multi_ptr ()=default | |
Default constructor. More... | |
multi_ptr (ptr_t ptr) | |
Initialize the object using the given pointer. More... | |
template<int dimensions, access::mode Mode, access::placeholder isPlaceholder = access::placeholder::false_t, COMPUTECPP_ENABLE_IF(const void,(detail::address_space_trait< const void, asp >::hasTarget)) > | |
multi_ptr (cl::sycl::accessor< const void, dimensions, Mode, detail::address_space_trait< const void, asp >::targetValue, isPlaceholder > acc) | |
Initialize the object using an accessor. More... | |
template<COMPUTECPP_ENABLE_IF(const void,(!std::is_same< ptr_t, ptr_unqual_t >::value)) > | |
multi_ptr (ptr_unqual_t ptr) | |
Initialize the object using the given non address space qualified pointer. More... | |
template<typename ElementType , COMPUTECPP_ENABLE_IF( ElementType,(!std::is_same< ElementType, const void >::value)) > | |
multi_ptr (const multi_ptr< ElementType, asp > &ptr) | |
Explicit conversion from a multi_ptr<ElementType> More... | |
template<typename ElementType , int dimensions, access::mode Mode, access::placeholder isPlaceholder, COMPUTECPP_ENABLE_IF( ElementType,(detail::address_space_trait< ElementType, asp >::hasTarget)) > | |
multi_ptr (accessor< ElementType, dimensions, Mode, detail::address_space_trait< ElementType, asp >::targetValue, isPlaceholder > acc) | |
Initialize the object using an accessor. More... | |
template<typename ElementType > | |
operator multi_ptr< ElementType, asp > () const | |
Explicit conversion to a multi_ptr<ElementType> More... | |
Protected Types | |
using | multi_ptr_base = detail::multi_ptr_base< const void, asp > |
Detailed Description
template<cl::sycl::access::address_space asp>
class cl::sycl::multi_ptr< const void, asp >
Generic pointer class, specialization for const void.
- Template Parameters
-
asp The address space the pointer class points to.
Definition at line 989 of file multi_pointer.h.
Member Typedef Documentation
◆ difference_type
using cl::sycl::multi_ptr< const void, asp >::difference_type = typename multi_ptr_base::difference_type |
Definition at line 1011 of file multi_pointer.h.
◆ multi_ptr_base
|
protected |
Definition at line 992 of file multi_pointer.h.
◆ pointer [1/2]
using cl::sycl::multi_ptr< const void, asp >::pointer = typename multi_ptr_base::pointer_t |
Definition at line 1013 of file multi_pointer.h.
◆ pointer [2/2]
using cl::sycl::multi_ptr< const void, asp >::pointer = typename multi_ptr_base::const_pointer_t |
Definition at line 1016 of file multi_pointer.h.
◆ value_type
using cl::sycl::multi_ptr< const void, asp >::value_type = typename multi_ptr_base::element_type |
Definition at line 1010 of file multi_pointer.h.
Constructor & Destructor Documentation
◆ multi_ptr() [1/6]
|
default |
Default constructor.
◆ multi_ptr() [2/6]
|
inline |
Initialize the object using the given pointer.
- Parameters
-
ptr Pointer that the class should manipulate.
Definition at line 1037 of file multi_pointer.h.
◆ multi_ptr() [3/6]
|
inline |
Initialize the object using an accessor.
- Template Parameters
-
dimensions Accessor dimensions Mode Accessor mode isPlaceholder Whether the accessor is a placeholder COMPUTECPP_ENABLE_IF This constructor is only available for access::address_space::global_space access::address_space::constant_space access::address_space::local_space
- Parameters
-
acc Accessor to retrieve the pointer from
Definition at line 1053 of file multi_pointer.h.
◆ multi_ptr() [4/6]
cl::sycl::multi_ptr< const void, asp >::multi_ptr | ( | ptr_unqual_t | ptr | ) |
Initialize the object using the given non address space qualified pointer.
This conversion is defined by the device compiler.
- Template Parameters
-
COMPUTECPP_ENABLE_IF Only available if the provided pointer is not address space qualified.
- Parameters
-
ptr Pointer that is not address space qualified that the class should manipulate
- Note
- This constructor has to be declared in order for the offload device compiler to deduce address spaces, but it should not be defined because it should never actually be used in Offload. It is used in the ASP compiler, however.
◆ multi_ptr() [5/6]
|
inlineexplicit |
Explicit conversion from a multi_ptr<ElementType>
- Template Parameters
-
ElementType Underlying type of the pointer to convert COMPUTECPP_ENABLE_IF Only enabled if ElementType is not const void
- Parameters
-
ptr Pointer to convert to multi_ptr<const void>
Definition at line 1091 of file multi_pointer.h.
◆ multi_ptr() [6/6]
|
inline |
Initialize the object using an accessor.
- Template Parameters
-
ElementType Underlying type of the accessor data dimensions Accessor dimensions Mode Accessor mode isPlaceholder Whether the accessor is a placeholder COMPUTECPP_ENABLE_IF This constructor is only available for access::address_space::global_space access::address_space::constant_space access::address_space::local_space
- Parameters
-
acc Accessor to retrieve the pointer from
Definition at line 1110 of file multi_pointer.h.
Member Function Documentation
◆ operator multi_ptr< ElementType, asp >()
|
inlineexplicit |
Explicit conversion to a multi_ptr<ElementType>
- Returns
- This pointer object converted to a multi_ptr<ElementType>
Definition at line 1120 of file multi_pointer.h.
The documentation for this class was generated from the following file: