7 #ifndef _ADTF_UCOM_ANT_OBJECT_PTR_INTERFACE_HEADER_
8 #define _ADTF_UCOM_ANT_OBJECT_PTR_INTERFACE_HEADER_
36 virtual T*
Get()
const = 0;
59 template<
typename,
typename>
friend class detail::delegate_object_ptr_resetter;
118 template <
typename T,
typename U>
121 return i_oLHS.
Get() == i_pRHS;
132 template <
typename T,
typename U>
146 template<
typename T,
typename U>
160 template<
typename T,
typename U>
174 template <
typename T,
typename U >
177 return i_oLHS.
Get() == i_oRHS.
Get();
188 template<
typename T,
typename U >
202 template<
typename T,
typename U >
205 typedef typename std::common_type<T*, U*>::type common_pointer_type;
206 return std::less<common_pointer_type>()(i_oLHS.
Get(), i_oRHS.
Get());
217 template<
typename T,
typename U >
231 template<
typename T,
typename U >
245 template<
typename T,
typename U >
257 template<
typename T >
260 return !i_oLHS.
Get();
269 template<
typename T >
272 return i_oRHS ==
nullptr;
281 template<
typename T >
284 return nullptr != i_oLHS.
Get();
293 template<
typename T >
296 return i_oRHS !=
nullptr;
305 template<
typename T >
308 return std::less<T*>()(i_oLHS.
Get(),
nullptr);
317 template<
typename T >
320 return std::less<T*>()(
nullptr, i_oRHS.
Get());
329 template<
typename T >
341 template<
typename T >
353 template<
typename T >
365 template<
typename T >
377 template<
typename T >
389 template<
typename T >
A common result class usable as return value throughout.
Base class for every interface type within the uCOM.
Base object pointer to realize binary compatible reference counting in interface methods.
const IObject object_type
Provided for single point of const correct type access.
~iobject_ptr()=default
Destructor.
Base class for iobject_ptr<T> defining their commonly used interface methods.
virtual detail::iobject_ptr_ref< size_t > * GetObjPtrRef() const =0
Get the reference counter.
virtual T * operator->() const =0
Operator-> overload to treat object_ptr<> types like real pointers.
~iobject_ptr_base()=default
Destructor.
virtual tResult Reset(const iobject_ptr< T > &i_oOther)=0
Reset this object_ptr<> with the content of another iobject_ptr<>
T element_type
Contained type to manage an object of.
virtual T * Get() const =0
Get raw pointer to shared object.
Base object pointer to realize binary compatible reference counting in interface methods.
~iobject_ptr()=default
Destructor.
IObject object_type
Provided for single point of const correct type access.
Object pointer implementation used for reference counting on objects of type IObject.
Implementation of a weak pointer for usage with iobject_ptr and object_ptr.
bool operator>(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Greater-than operator for forward_iterator.
bool operator<(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Less-than operator for forward_iterator.
bool operator>=(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Greater-than-or-equal operator for forward_iterator.
bool operator<=(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Less-than-or-equal operator for forward_iterator.
bool operator!=(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Inequality operator for forward_iterator.
bool operator==(const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
Equality operator for forward_iterator.
Namespace for entire ADTF SDK.