DPC++ Runtime
Runtime libraries for oneAPI DPC++
|
|
Go to the documentation of this file.
15 namespace ext::oneapi::detail {
19 template <
typename SYCLObjT>
22 return WeakObj.MObjWeakPtr;
26 template <
typename SYCLObjT>
class weak_object_base {
39 void reset() noexcept { MObjWeakPtr.reset(); }
41 MObjWeakPtr.swap(Other.MObjWeakPtr);
44 bool expired() const noexcept {
return MObjWeakPtr.expired(); }
50 return MObjWeakPtr.owner_before(Other.MObjWeakPtr);
55 typename std::invoke_result_t<
56 decltype(sycl::detail::getSyclObjImpl<SYCLObjT>), SYCLObjT>::weak_type
std::invoke_result_t< decltype(sycl::detail::getSyclObjImpl< SYCLObjT >), SYCLObjT >::weak_type MObjWeakPtr
#define __SYCL_INLINE_VER_NAMESPACE(X)
Defines a shared array that can be used by kernels in queues.
bool owner_before(const weak_object_base &Other) const noexcept
---— Error handling, matching OpenCL plugin semantics.
weak_object_base(const SYCLObjT &SYCLObj) noexcept
decltype(weak_object_base< SYCLObjT >::MObjWeakPtr) getSyclWeakObjImpl(const weak_object_base< SYCLObjT > &WeakObj)
annotated_arg & operator=(annotated_arg &)=default
bool expired() const noexcept
constexpr weak_object_base() noexcept
bool owner_before(const SYCLObjT &Other) const noexcept
decltype(Obj::impl) getSyclObjImpl(const Obj &SyclObject)
void swap(weak_object_base &Other) noexcept