31template<
typename TSize>
32class DOEXPORT iobject_ptr_ref
35 typedef TSize size_type;
39 ~iobject_ptr_ref() =
default;
42 virtual void IncreaseUseCount() = 0;
43 virtual void DecreaseUseCount() = 0;
45 virtual void IncreaseWeakCount() = 0;
46 virtual void DecreaseWeakCount() = 0;
48 virtual bool IncreaseUseCountNonZero() = 0;
73 virtual T*
Get()
const = 0;
93 virtual detail::iobject_ptr_ref<size_t>* GetObjPtrRef()
const = 0;
156template<
typename T,
typename U>
159 return i_oLHS.
Get() == i_pRHS;
170template<
typename T,
typename U>
184template<
typename T,
typename U>
198template<
typename T,
typename U>
212template<
typename T,
typename U>
215 return i_oLHS.
Get() == i_oRHS.
Get();
226template<
typename T,
typename U>
240template<
typename T,
typename U>
243 typedef typename std::common_type<T*, U*>::type common_pointer_type;
244 return std::less<common_pointer_type>()(i_oLHS.
Get(), i_oRHS.
Get());
255template<
typename T,
typename U>
269template<
typename T,
typename U>
283template<
typename T,
typename U>
298 return !i_oLHS.
Get();
310 return i_oRHS ==
nullptr;
322 return nullptr != i_oLHS.
Get();
334 return i_oRHS !=
nullptr;
346 return std::less<T*>()(i_oLHS.
Get(),
nullptr);
358 return std::less<T*>()(
nullptr, i_oRHS.
Get());
A_UTILS_NS::cResult tResult
For backwards compatibility and to bring latest version into scope.
Definition result.h:736
Definition object_intf.h:33
~iobject_ptr()=default
Destructor.
const IObject object_type
Provided for single point of const correct type access.
Definition object_ptr_intf.h:141
Base class for iobject_ptr<T> defining their commonly used interface methods.
Definition object_ptr_intf.h:60
virtual tResult Reset(const iobject_ptr< T > &i_oOther)=0
Reset this object_ptr<> with the content of another iobject_ptr<>
virtual T * operator->() const =0
Operator-> overload to treat object_ptr<> types like real pointers.
T & operator*() const noexcept
Operator* to dereference the stored pointer.
Definition object_ptr_intf.h:99
virtual T * Get() const =0
Get raw pointer to shared object.
T element_type
Contained type to manage an object of.
Definition object_ptr_intf.h:62
~iobject_ptr_base()=default
Destructor.
Base object pointer to realize binary compatible reference counting in interface methods.
Definition object_ptr_intf.h:112
~iobject_ptr()=default
Destructor.
IObject object_type
Definition object_ptr_intf.h:118
Namespace for all internally used functionality implemented.
Definition class_info.h:17
Namespace for all functionality of the ADTF UCOM SDK provided since v3.0.
Definition test_runtime.h:14
bool operator>(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Greater-than operator for forward_iterator.
Definition iterator_intf.h:122
bool operator<(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Less-than operator for forward_iterator.
Definition iterator_intf.h:108
bool operator>=(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Greater-than-or-equal operator for forward_iterator.
Definition iterator_intf.h:150
bool operator<=(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Less-than-or-equal operator for forward_iterator.
Definition iterator_intf.h:136
bool operator!=(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Inequality operator for forward_iterator.
Definition iterator_intf.h:178
bool operator==(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Equality operator for forward_iterator.
Definition iterator_intf.h:164
Namespace for the ADTF uCOM SDK.
Definition adtf_system.h:324
ant::iobject_ptr< T > iobject_ptr
Alias always bringing the latest version of ant::iobject_ptr into scope.
Definition object_ptr_intf.h:437
Namespace for all functionality provided by ADTF and its SDKs.
Definition adtf_client_connector.h:14