DPC++ Runtime
Runtime libraries for oneAPI DPC++
sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT > Class Template Reference

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

Inheritance diagram for sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >:
Collaboration diagram for sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >:

Public Types

using object_type = SYCLObjT
 

Public Member Functions

constexpr weak_object_base () noexcept
 
 weak_object_base (const SYCLObjT &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 SYCLObjT &Other) const noexcept
 
bool owner_before (const weak_object_base &Other) const noexcept
 

Protected Member Functions

template<class Obj >
decltype(weak_object_base< Obj >::MObjWeakPtr) friend detail::getSyclWeakObjImpl (const weak_object_base< Obj > &WeakObj)
 

Protected Attributes

std::invoke_result_t< decltype(sycl::detail::getSyclObjImpl< SYCLObjT >), SYCLObjT >::weak_type MObjWeakPtr
 

Detailed Description

template<typename SYCLObjT>
class sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >

Definition at line 26 of file weak_object_base.hpp.

Member Typedef Documentation

◆ object_type

template<typename SYCLObjT >
using sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::object_type = SYCLObjT

Definition at line 28 of file weak_object_base.hpp.

Constructor & Destructor Documentation

◆ weak_object_base() [1/4]

template<typename SYCLObjT >
constexpr sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::weak_object_base ( )
inlineconstexprnoexcept

Definition at line 30 of file weak_object_base.hpp.

◆ weak_object_base() [2/4]

template<typename SYCLObjT >
sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::weak_object_base ( const SYCLObjT &  SYCLObj)
inlinenoexcept

Definition at line 31 of file weak_object_base.hpp.

◆ weak_object_base() [3/4]

template<typename SYCLObjT >
sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::weak_object_base ( const weak_object_base< SYCLObjT > &  Other)
defaultnoexcept

◆ weak_object_base() [4/4]

template<typename SYCLObjT >
sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::weak_object_base ( weak_object_base< SYCLObjT > &&  Other)
defaultnoexcept

Member Function Documentation

◆ detail::getSyclWeakObjImpl()

template<typename SYCLObjT >
template<class Obj >
decltype(weak_object_base<Obj>::MObjWeakPtr) friend sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::detail::getSyclWeakObjImpl ( const weak_object_base< Obj > &  WeakObj)
protected

◆ expired()

template<typename SYCLObjT >
bool sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::expired ( ) const
inlinenoexcept

Definition at line 41 of file weak_object_base.hpp.

◆ owner_before() [1/2]

template<typename SYCLObjT >
bool sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::owner_before ( const SYCLObjT &  Other) const
inlinenoexcept

Definition at line 43 of file weak_object_base.hpp.

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

◆ owner_before() [2/2]

template<typename SYCLObjT >
bool sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::owner_before ( const weak_object_base< SYCLObjT > &  Other) const
inlinenoexcept

Definition at line 46 of file weak_object_base.hpp.

◆ reset()

template<typename SYCLObjT >
void sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::reset ( )
inlinenoexcept

Definition at line 36 of file weak_object_base.hpp.

◆ swap()

template<typename SYCLObjT >
void sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::swap ( weak_object_base< SYCLObjT > &  Other)
inlinenoexcept

Definition at line 37 of file weak_object_base.hpp.

Member Data Documentation

◆ MObjWeakPtr

template<typename SYCLObjT >
std::invoke_result_t< decltype(sycl::detail::getSyclObjImpl<SYCLObjT>), SYCLObjT>::weak_type sycl::_V1::ext::oneapi::detail::weak_object_base< SYCLObjT >::MObjWeakPtr
protected

Definition at line 54 of file weak_object_base.hpp.


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