DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > > Class Template Reference

#include <sycl/ext/oneapi/device_global/device_global.hpp>

Inheritance diagram for sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >:
Collaboration diagram for sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >:

Public Types

using element_type = std::remove_extent_t< T >
 

Public Member Functions

 device_global ()=default
 
 device_global (const device_global &)=delete
 
 device_global (const device_global &&)=delete
 
device_globaloperator= (const device_global &)=delete
 
device_globaloperator= (const device_global &&)=delete
 
Tget () noexcept
 
const Tget () const noexcept
 
 operator T& () noexcept
 
 operator const T & () const noexcept
 
device_globaloperator= (const T &newValue) noexcept
 
template<class RelayT = T>
std::remove_reference_t< decltype(std::declval< RelayT >)[std::declval< std::ptrdiff_t >)])> & operator[] (std::ptrdiff_t idx) noexcept
 
template<class RelayT = T>
const std::remove_reference_t< decltype(std::declval< RelayT >)[std::declval< std::ptrdiff_t >)])> & operator[] (std::ptrdiff_t idx) const noexcept
 
template<class RelayT = T>
std::enable_if_t< detail::HasArrowOperator< RelayT >::value||std::is_pointer< RelayT >::value, RelayT > & operator-> () noexcept
 
template<class RelayT = T>
std::enable_if_t< detail::HasArrowOperator< RelayT >::value||std::is_pointer< RelayT >::value, const RelayT > & operator-> () const noexcept
 
- Public Member Functions inherited from sycl::_V1::ext::oneapi::experimental::detail::device_global_base< T, detail::properties_t< Props... > >
multi_ptr< T, access::address_space::global_space, IsDecorated > get_multi_ptr () noexcept
 
multi_ptr< const T, access::address_space::global_space, IsDecorated > get_multi_ptr () const noexcept
 

Static Public Member Functions

template<typename propertyT >
static constexpr bool has_property ()
 
template<typename propertyT >
static constexpr auto get_property ()
 

Additional Inherited Members

- Protected Types inherited from sycl::_V1::ext::oneapi::experimental::detail::device_global_base< T, detail::properties_t< Props... > >
using pointer_t = typename decorated_global_ptr< T >::pointer
 
- Protected Member Functions inherited from sycl::_V1::ext::oneapi::experimental::detail::device_global_base< T, detail::properties_t< Props... > >
pointer_t get_ptr () noexcept
 
const pointer_t get_ptr () const noexcept
 
- Protected Attributes inherited from sycl::_V1::ext::oneapi::experimental::detail::device_global_base< T, detail::properties_t< Props... > >
pointer_t usmptr
 

Detailed Description

template<typename T, typename... Props>
class sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >

Definition at line 117 of file device_global.hpp.

Member Typedef Documentation

◆ element_type

template<typename T , typename... Props>
using sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::element_type = std::remove_extent_t<T>

Definition at line 130 of file device_global.hpp.

Constructor & Destructor Documentation

◆ device_global() [1/3]

template<typename T , typename... Props>
sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::device_global ( )
default

◆ device_global() [2/3]

template<typename T , typename... Props>
sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::device_global ( const device_global< T, detail::properties_t< Props... > > &  )
delete

◆ device_global() [3/3]

template<typename T , typename... Props>
sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::device_global ( const device_global< T, detail::properties_t< Props... > > &&  )
delete

Member Function Documentation

◆ get() [1/2]

template<typename T , typename... Props>
const T& sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::get ( ) const
inlinenoexcept

Definition at line 154 of file device_global.hpp.

References __SYCL_HOST_NOT_SUPPORTED.

◆ get() [2/2]

template<typename T , typename... Props>
T& sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::get ( )
inlinenoexcept

Definition at line 149 of file device_global.hpp.

References __SYCL_HOST_NOT_SUPPORTED.

◆ get_property()

template<typename T , typename... Props>
template<typename propertyT >
static constexpr auto sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::get_property ( )
inlinestaticconstexpr

Definition at line 213 of file device_global.hpp.

◆ has_property()

template<typename T , typename... Props>
template<typename propertyT >
static constexpr bool sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::has_property ( )
inlinestaticconstexpr

Definition at line 209 of file device_global.hpp.

◆ operator const T &()

template<typename T , typename... Props>
sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::operator const T & ( ) const
inlinenoexcept

Definition at line 164 of file device_global.hpp.

References __SYCL_HOST_NOT_SUPPORTED, and std::get().

◆ operator T&()

template<typename T , typename... Props>
sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::operator T& ( )
inlinenoexcept

Definition at line 159 of file device_global.hpp.

References __SYCL_HOST_NOT_SUPPORTED, and std::get().

◆ operator->() [1/2]

template<typename T , typename... Props>
template<class RelayT = T>
std::enable_if_t<detail::HasArrowOperator<RelayT>::value || std::is_pointer<RelayT>::value, const RelayT>& sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::operator-> ( ) const
inlinenoexcept

Definition at line 204 of file device_global.hpp.

References __SYCL_HOST_NOT_SUPPORTED.

◆ operator->() [2/2]

template<typename T , typename... Props>
template<class RelayT = T>
std::enable_if_t<detail::HasArrowOperator<RelayT>::value || std::is_pointer<RelayT>::value, RelayT>& sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::operator-> ( )
inlinenoexcept

Definition at line 195 of file device_global.hpp.

References __SYCL_HOST_NOT_SUPPORTED.

◆ operator=() [1/3]

template<typename T , typename... Props>
device_global& sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::operator= ( const device_global< T, detail::properties_t< Props... > > &&  )
delete

◆ operator=() [2/3]

template<typename T , typename... Props>
device_global& sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::operator= ( const device_global< T, detail::properties_t< Props... > > &  )
delete

◆ operator=() [3/3]

template<typename T , typename... Props>
device_global& sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::operator= ( const T newValue)
inlinenoexcept

Definition at line 169 of file device_global.hpp.

References __SYCL_HOST_NOT_SUPPORTED.

◆ operator[]() [1/2]

template<typename T , typename... Props>
template<class RelayT = T>
const std::remove_reference_t< decltype(std::declval<RelayT>)[std::declval<std::ptrdiff_t>)])>& sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::operator[] ( std::ptrdiff_t  idx) const
inlinenoexcept

Definition at line 186 of file device_global.hpp.

References __SYCL_HOST_NOT_SUPPORTED.

◆ operator[]() [2/2]

template<typename T , typename... Props>
template<class RelayT = T>
std::remove_reference_t< decltype(std::declval<RelayT>)[std::declval<std::ptrdiff_t>)])>& sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::operator[] ( std::ptrdiff_t  idx)
inlinenoexcept

Definition at line 178 of file device_global.hpp.

References __SYCL_HOST_NOT_SUPPORTED.


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