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
 
weak_object_baseoperator= (const weak_object_base &Other) noexcept=default
 
weak_object_baseoperator= (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)
 

Static Protected Member Functions

static decltype(MObjWeakPtrGetWeakImpl (const SYCLObjT &SYCLObj)
 

Protected Attributes

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

Detailed Description

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

Definition at line 29 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 31 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 33 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 34 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

◆ GetWeakImpl()

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ owner_before() [1/2]

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

◆ 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

◆ reset()

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

◆ swap()

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

Member Data Documentation

◆ MObjWeakPtr


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