multi_pointer.h File Reference
This file contains the definition of the SYCL pointer classes as defined by the SYCL 1.2 & 2020 specifications. More...
#include "SYCL/abacus_types.h"
#include "SYCL/addrspace_cast.h"
#include "SYCL/common.h"
#include "SYCL/deduce.h"
#include "SYCL/type_traits.h"
#include "SYCL/vec.h"
#include <cstddef>
#include <type_traits>
Go to the source code of this file.
Classes | |
class | cl::sycl::accessor< elemT, kDims, kMode, kTarget, isPlaceholder > |
Public facing interface class for allowing users access to buffer objects, image objects and local memory from within kernel functions and the host. More... | |
class | cl::sycl::multi_ptr< dataType, asp > |
multi_ptr, generic pointer class. More... | |
class | cl::sycl::multi_ptr< void, asp > |
Generic pointer class, specialization for void. More... | |
class | cl::sycl::multi_ptr< const void, asp > |
Generic pointer class, specialization for const void. More... | |
Namespaces | |
cl | |
deduce_type_t takes an arbitrary type and attempts to map it to a cl::sycl::cl_type . | |
cl::sycl | |
cl::sycl::codeplay | |
Typedefs | |
template<typename dataType > | |
using | cl::sycl::global_ptr = multi_ptr< dataType, access::address_space::global_space > |
global_ptr pointer class definition for data pointing to the OpenCL global address space. More... | |
template<typename dataType > | |
using | cl::sycl::local_ptr = multi_ptr< dataType, access::address_space::local_space > |
local_ptr pointer class definition for data pointing to the OpenCL local address space More... | |
template<typename dataType > | |
using | cl::sycl::private_ptr = multi_ptr< dataType, access::address_space::private_space > |
private_ptr, pointer class definition for data pointing to the OpenCL private address space More... | |
template<typename dataType > | |
using | cl::sycl::constant_ptr = multi_ptr< dataType, access::address_space::constant_space > |
constant_ptr, pointer class definition for data living in the OpenCL constant address space More... | |
template<typename dataType > | |
using | cl::sycl::codeplay::subgroup_local_ptr = multi_ptr< dataType, access::address_space::subgroup_local_space > |
subgroup_local_ptr, pointer class definition for data living in the subgroup local address space. More... | |
Functions | |
template<typename dataType , cl::sycl::access::address_space Space> | |
std::enable_if< !std::is_same< typename multi_ptr< dataType, Space >::ptr_t, dataType * >::value, multi_ptr< dataType, Space > >::type | cl::sycl::make_ptr (dataType *ptr) |
Create a multi_ptr object from a raw pointer. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
multi_ptr< dataType, Space > | cl::sycl::make_ptr (typename multi_ptr< dataType, Space >::ptr_t ptr) |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator== (const cl::sycl::multi_ptr< dataType, Space > &lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Equal operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator!= (const cl::sycl::multi_ptr< dataType, Space > &lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Not equal operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator< (const cl::sycl::multi_ptr< dataType, Space > &lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Less than operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator> (const cl::sycl::multi_ptr< dataType, Space > &lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Greater than operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator<= (const cl::sycl::multi_ptr< dataType, Space > &lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Less or equal than operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator>= (const cl::sycl::multi_ptr< dataType, Space > &lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Greater or equal than operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator!= (const cl::sycl::multi_ptr< dataType, Space > &lhs, std::nullptr_t rhs) |
Not equal operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator!= (std::nullptr_t lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Not equal operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator== (const cl::sycl::multi_ptr< dataType, Space > &lhs, std::nullptr_t rhs) |
Equal operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator== (std::nullptr_t lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Equal operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator> (const cl::sycl::multi_ptr< dataType, Space > &lhs, std::nullptr_t rhs) |
Greater than operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator> (std::nullptr_t lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Greater than operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator< (const cl::sycl::multi_ptr< dataType, Space > &lhs, std::nullptr_t rhs) |
Less than operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator< (std::nullptr_t lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Less than operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator>= (const cl::sycl::multi_ptr< dataType, Space > &lhs, std::nullptr_t rhs) |
Greater or equal than operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator>= (std::nullptr_t lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Greater or equal than operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator<= (const cl::sycl::multi_ptr< dataType, Space > &lhs, std::nullptr_t rhs) |
Less or equal than operator. More... | |
template<typename dataType , cl::sycl::access::address_space Space> | |
bool | operator<= (std::nullptr_t lhs, const cl::sycl::multi_ptr< dataType, Space > &rhs) |
Less or equal than operator. More... | |
Detailed Description
This file contains the definition of the SYCL pointer classes as defined by the SYCL 1.2 & 2020 specifications.
Definition in file multi_pointer.h.
Function Documentation
◆ operator!=() [1/3]
bool operator!= | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
Not equal operator.
- Returns
- True if the parameters does not point to the same memory location, false otherwise.
Definition at line 1386 of file multi_pointer.h.
◆ operator!=() [2/3]
bool operator!= | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
std::nullptr_t | rhs | ||
) |
Not equal operator.
- Returns
- True if the lhs parameter is not null.
Definition at line 1435 of file multi_pointer.h.
◆ operator!=() [3/3]
bool operator!= | ( | std::nullptr_t | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
Not equal operator.
- Returns
- True if the rhs parameter is not null.
Definition at line 1445 of file multi_pointer.h.
◆ operator<() [1/3]
bool operator< | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
Less than operator.
- Returns
- True if the lhs parameter address is strictly less than rhs, false otherwise.
Definition at line 1396 of file multi_pointer.h.
◆ operator<() [2/3]
bool operator< | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
std::nullptr_t | rhs | ||
) |
Less than operator.
- Returns
- True if the lhs parameter is strictly less than null.
Definition at line 1495 of file multi_pointer.h.
◆ operator<() [3/3]
bool operator< | ( | std::nullptr_t | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
Less than operator.
- Returns
- True if the rhs parameter is strictly greater than null.
Definition at line 1505 of file multi_pointer.h.
◆ operator<=() [1/3]
bool operator<= | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
Less or equal than operator.
- Returns
- True if the lhs parameter address is less or equal to rhs, false otherwise.
Definition at line 1416 of file multi_pointer.h.
◆ operator<=() [2/3]
bool operator<= | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
std::nullptr_t | rhs | ||
) |
Less or equal than operator.
- Returns
- True if the lhs parameter is less or equal to null.
Definition at line 1535 of file multi_pointer.h.
◆ operator<=() [3/3]
bool operator<= | ( | std::nullptr_t | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
Less or equal than operator.
- Returns
- True if the rhs parameter is greater or equal to null.
Definition at line 1545 of file multi_pointer.h.
◆ operator==() [1/3]
bool operator== | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
Equal operator.
- Returns
- True if both parameter points to the same memory location, false otherwise.
Definition at line 1375 of file multi_pointer.h.
◆ operator==() [2/3]
bool operator== | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
std::nullptr_t | rhs | ||
) |
Equal operator.
- Returns
- True if the lhs parameter is null.
Definition at line 1455 of file multi_pointer.h.
◆ operator==() [3/3]
bool operator== | ( | std::nullptr_t | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
Equal operator.
- Returns
- True if the rhs parameter is null.
Definition at line 1465 of file multi_pointer.h.
◆ operator>() [1/3]
bool operator> | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
Greater than operator.
- Returns
- True if the lhs parameter address is strictly greater than rhs, false otherwise.
Definition at line 1406 of file multi_pointer.h.
◆ operator>() [2/3]
bool operator> | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
std::nullptr_t | rhs | ||
) |
Greater than operator.
- Returns
- True if the lhs parameter is strictly greater than null.
Definition at line 1475 of file multi_pointer.h.
◆ operator>() [3/3]
bool operator> | ( | std::nullptr_t | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
◆ operator>=() [1/3]
bool operator>= | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
Greater or equal than operator.
- Returns
- True if the lhs parameter address is greater or equal to rhs, false otherwise.
Definition at line 1426 of file multi_pointer.h.
◆ operator>=() [2/3]
bool operator>= | ( | const cl::sycl::multi_ptr< dataType, Space > & | lhs, |
std::nullptr_t | rhs | ||
) |
Greater or equal than operator.
- Returns
- True if the lhs parameter is greater or equal to null.
Definition at line 1515 of file multi_pointer.h.
◆ operator>=() [3/3]
bool operator>= | ( | std::nullptr_t | lhs, |
const cl::sycl::multi_ptr< dataType, Space > & | rhs | ||
) |
Greater or equal than operator.
- Returns
- True if the rhs parameter is less or equal to null.
Definition at line 1525 of file multi_pointer.h.