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 (const device_global &)=delete
 
 device_global (const device_global &&)=delete
 
device_globaloperator= (const device_global &)=delete
 
device_globaloperator= (const device_global &&)=delete
 
T & get () noexcept
 
const T & get () 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_v< RelayT >, RelayT > & operator-> () noexcept
 
template<class RelayT = T>
std::enable_if_t< detail::HasArrowOperator< RelayT >::value||std::is_pointer_v< RelayT >, const RelayT > & operator-> () const noexcept
 
- Public Member Functions inherited from sycl::_V1::ext::oneapi::experimental::detail::device_global_base< T, detail::properties_t< Props... > >
 device_global_base ()=default
 
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
 
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
 
const T init_val
 

Detailed Description

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

Definition at line 142 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 156 of file device_global.hpp.

Constructor & Destructor Documentation

◆ device_global() [1/2]

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() [2/2]

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 183 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 178 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 242 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 238 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

◆ operator T&()

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

◆ operator->() [1/2]

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

Definition at line 233 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_v<RelayT>, RelayT>& sycl::_V1::ext::oneapi::experimental::device_global< T, detail::properties_t< Props... > >::operator-> ( )
inlinenoexcept

Definition at line 224 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 198 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 215 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 207 of file device_global.hpp.

References __SYCL_HOST_NOT_SUPPORTED.


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