|
ADTF
|
Base class for iobject_ptr<T> defining their commonly used interface methods. More...
#include <object_ptr_intf.h>
Inherited by adtf::ucom::ant::iobject_ptr< ifunction< Signature > >, adtf::ucom::ant::iobject_ptr< INTERFACE_TYPE >, adtf::ucom::ant::iobject_ptr< const T >, and adtf::ucom::ant::iobject_ptr< T >.
Public Types | |
| typedef T | element_type |
| Contained type to manage an object of. | |
Public Member Functions | |
| virtual T * | Get () const =0 |
| Get raw pointer to shared object. | |
| 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. | |
| virtual detail::iobject_ptr_ref< size_t > * | GetObjPtrRef () const =0 |
| T & | operator* () const noexcept |
| Operator* to dereference the stored pointer. | |
Protected Member Functions | |
| ~iobject_ptr_base ()=default | |
| Destructor. | |
Base class for iobject_ptr<T> defining their commonly used interface methods.
| T | Type of the managed resource. Must be derived from IObject |
|
pure virtual |
Get raw pointer to shared object.
Implemented in adtf::ucom::ant::detail::object_ptr_delegate_base< T, StorageType >, adtf::ucom::ant::detail::object_ptr_delegate_base< const IObject, StorageType >, adtf::ucom::ant::detail::object_ptr_delegate_base< IObject, StorageType >, and adtf::ucom::ant::detail::object_ptr_delegate_base< IObject, StorageType >.
|
inlinenoexcept |
Operator* to dereference the stored pointer.
|
pure virtual |
Operator-> overload to treat object_ptr<> types like real pointers.
Implemented in adtf::ucom::ant::detail::object_ptr_delegate_base< T, StorageType >, adtf::ucom::ant::detail::object_ptr_delegate_base< const IObject, StorageType >, adtf::ucom::ant::detail::object_ptr_delegate_base< IObject, StorageType >, and adtf::ucom::ant::detail::object_ptr_delegate_base< IObject, StorageType >.
|
pure virtual |
Reset this object_ptr<> with the content of another iobject_ptr<>
| [in] | i_oOther | Contains the shared object to reset this type with |
| ERR_NOERROR | Everything went fine |
| ERR_NO_INTERFACE | Managed resource owned by i_oOther does not expose interface type T. *this is reset to nullptr |
Implemented in adtf::ucom::ant::detail::object_ptr_delegate_base< T, StorageType >, and adtf::ucom::ant::detail::object_ptr_delegate_base< const IObject, StorageType >.