20template<
typename StorageType>
39 typedef size_t size_type;
52 weak_object_ptr(U* i_pObject, detail::iobject_ptr_ref<size_type>* i_pRefer)
noexcept:
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Base object pointer to realize binary compatible reference counting in interface methods.
Implementation of a weak pointer for usage with iobject_ptr and object_ptr.
T * m_pObject
The managed object.
constexpr weak_object_ptr(std::nullptr_t) noexcept
Construct the weak_ptr from a nullptr - for empty construction.
~weak_object_ptr() noexcept
Destructs the weak_object_ptr.
tResult Reset(const iobject_ptr< T > &i_oOther) noexcept
Reset this weak_object_ptr<> with the content of another iobject_ptr<>
detail::iobject_ptr_ref< size_type > * m_pRefer
Refer to control the weak counting.
weak_object_ptr(const weak_object_ptr &i_oOther) noexcept
Copy constructor.
void Reset() noexcept
Reset to an empty weak_ptr object.
tResult Reset(const iobject_ptr< U > &i_oOther) noexcept
Reset this weak_object_ptr<> with the content of another iobject_ptr<>
object_ptr< T > Lock() const noexcept
Create an object_ptr<> from *this weak pointer (thread safe).
void Swap(weak_object_ptr &o_oOther) noexcept
Swap content of *this with o_oOther (only shallow copies are performed!)
constexpr weak_object_ptr() noexcept
Default constructor for empty construction.
weak_object_ptr & operator=(const iobject_ptr< U > &i_pOther) noexcept
Assignment from an iobject_ptr.
weak_object_ptr(weak_object_ptr &&oOther) noexcept
Move constructor.
weak_object_ptr & operator=(weak_object_ptr oOther) noexcept
Assignment operator.
weak_object_ptr(const iobject_ptr< U > &i_pOther) noexcept
Copy construction from an iobject_ptr.
tVoid swap(A_UTILS_NS::d_ptr< _PARENT, _PRIVATE_D > &i_oLHS, A_UTILS_NS::d_ptr< _PARENT, _PRIVATE_D > &i_oRHS)
std::swap specialization for AUTILSDPtr for perfect fit on ADL
Namespace for all internally used uCOM functionality implemented.
Namespace for all functionality provided since v3.0.
InterfacePointerType ucom_cast(ObjectPointerType i_pObject)
Used to cast arbitrary interface types within the UCOM.
Namespace for the ADTF uCOM3 SDK.
ant::weak_object_ptr< T > weak_object_ptr
Alias always bringing the latest version of ant::weak_object_ptr into scope.
Namespace for entire ADTF SDK.
Copyright © Audi Electronics Venture GmbH.