DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > > Class Template Reference

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

Inheritance diagram for sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >:
Collaboration diagram for sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >:

Public Types

using object_type = typename detail::weak_object_base< buffer_type >::object_type
 
- Public Types inherited from sycl::_V1::ext::oneapi::detail::weak_object_base< buffer< T, Dimensions, AllocatorT > >
using object_type = buffer< T, Dimensions, AllocatorT >
 

Public Member Functions

constexpr weak_object () noexcept
 
 weak_object (const buffer_type &SYCLObj) noexcept
 
 weak_object (const weak_object &Other) noexcept=default
 
 weak_object (weak_object &&Other) noexcept=default
 
weak_objectoperator= (const buffer_type &SYCLObj) noexcept
 
weak_objectoperator= (const weak_object &Other) noexcept=default
 
weak_objectoperator= (weak_object &&Other) noexcept=default
 
std::optional< buffer_typetry_lock () const noexcept
 
buffer_type lock () const
 
- Public Member Functions inherited from sycl::_V1::ext::oneapi::detail::weak_object_base< buffer< T, Dimensions, AllocatorT > >
constexpr weak_object_base () noexcept
 
 weak_object_base (const buffer< T, Dimensions, AllocatorT > &SYCLObj) noexcept
 
 weak_object_base (const weak_object_base &Other) noexcept=default
 
 weak_object_base (weak_object_base &&Other) noexcept=default
 
void reset () noexcept
 
void swap (weak_object_base &Other) noexcept
 
bool expired () const noexcept
 
bool owner_before (const buffer< T, Dimensions, AllocatorT > &Other) const noexcept
 
bool owner_before (const weak_object_base &Other) const noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from sycl::_V1::ext::oneapi::detail::weak_object_base< buffer< T, Dimensions, AllocatorT > >
decltype(weak_object_base< Obj >::MObjWeakPtr) friend detail::getSyclWeakObjImpl (const weak_object_base< Obj > &WeakObj)
 
- Protected Attributes inherited from sycl::_V1::ext::oneapi::detail::weak_object_base< buffer< T, Dimensions, AllocatorT > >
std::invoke_result_t< decltype(sycl::detail::getSyclObjImpl< buffer< T, Dimensions, AllocatorT > >), buffer< T, Dimensions, AllocatorT > >::weak_type MObjWeakPtr
 

Detailed Description

template<typename T, int Dimensions, typename AllocatorT>
class sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >

Definition at line 77 of file weak_object.hpp.

Member Typedef Documentation

◆ object_type

template<typename T , int Dimensions, typename AllocatorT >
using sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >::object_type = typename detail::weak_object_base<buffer_type>::object_type

Definition at line 83 of file weak_object.hpp.

Constructor & Destructor Documentation

◆ weak_object() [1/4]

template<typename T , int Dimensions, typename AllocatorT >
constexpr sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >::weak_object ( )
inlineconstexprnoexcept

Definition at line 86 of file weak_object.hpp.

◆ weak_object() [2/4]

template<typename T , int Dimensions, typename AllocatorT >
sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >::weak_object ( const buffer_type SYCLObj)
inlinenoexcept

Definition at line 90 of file weak_object.hpp.

◆ weak_object() [3/4]

template<typename T , int Dimensions, typename AllocatorT >
sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >::weak_object ( const weak_object< buffer< T, Dimensions, AllocatorT > > &  Other)
defaultnoexcept

◆ weak_object() [4/4]

template<typename T , int Dimensions, typename AllocatorT >
sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >::weak_object ( weak_object< buffer< T, Dimensions, AllocatorT > > &&  Other)
defaultnoexcept

Member Function Documentation

◆ lock()

template<typename T , int Dimensions, typename AllocatorT >
buffer_type sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >::lock ( ) const
inline

Definition at line 115 of file weak_object.hpp.

References sycl::_V1::make_error_code().

◆ operator=() [1/3]

template<typename T , int Dimensions, typename AllocatorT >
weak_object& sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >::operator= ( const buffer_type SYCLObj)
inlinenoexcept

Definition at line 97 of file weak_object.hpp.

References sycl::_V1::detail::getSyclObjImpl().

◆ operator=() [2/3]

template<typename T , int Dimensions, typename AllocatorT >
weak_object& sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >::operator= ( const weak_object< buffer< T, Dimensions, AllocatorT > > &  Other)
defaultnoexcept

◆ operator=() [3/3]

template<typename T , int Dimensions, typename AllocatorT >
weak_object& sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >::operator= ( weak_object< buffer< T, Dimensions, AllocatorT > > &&  Other)
defaultnoexcept

◆ try_lock()

template<typename T , int Dimensions, typename AllocatorT >
std::optional<buffer_type> sycl::_V1::ext::oneapi::weak_object< buffer< T, Dimensions, AllocatorT > >::try_lock ( ) const
inlinenoexcept

Definition at line 108 of file weak_object.hpp.


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