16 inline namespace _V1 {
17 namespace ext::oneapi::detail {
18 template <
typename SYCLObjT>
class weak_object_base;
21 template <
typename SYCLObjT>
24 return WeakObj.MObjWeakPtr;
48 #ifndef __SYCL_DEVICE_ONLY__
63 #ifndef __SYCL_DEVICE_ONLY__
74 static std::weak_ptr<void>
GetWeakImpl(
const SYCLObjT &) {
return {}; }
weak_object_base(weak_object_base &&Other) noexcept=default
weak_object_base & operator=(weak_object_base &&Other) noexcept=default
decltype(sycl::detail::getSyclObjImpl(std::declval< SYCLObjT >())) ::weak_type MObjWeakPtr
bool owner_before(const SYCLObjT &Other) const noexcept
bool expired() const noexcept
void swap(weak_object_base &Other) noexcept
constexpr weak_object_base() noexcept
weak_object_base(const SYCLObjT &SYCLObj) noexcept
bool owner_before(const weak_object_base &Other) const noexcept
weak_object_base(const weak_object_base &Other) noexcept=default
weak_object_base & operator=(const weak_object_base &Other) noexcept=default
static decltype(MObjWeakPtr) GetWeakImpl(const SYCLObjT &SYCLObj)
decltype(Obj::impl) getSyclObjImpl(const Obj &SyclObject)
decltype(weak_object_base< SYCLObjT >::MObjWeakPtr) getSyclWeakObjImpl(const weak_object_base< SYCLObjT > &WeakObj)
_Abi const simd< _Tp, _Abi > & noexcept