ADTF
adtf::ucom::ant Namespace Reference

Namespace for all functionality provided since v3.0. More...

Namespaces

 detail
 Namespace for all internally used uCOM functionality implemented.
 

Classes

class  interface_expose
 Meta template struct used to expose all interfaces. More...
 
struct  inherit_from
 Meta struct template evaluated at compile time when compiling default_object. More...
 
struct  expose_interfaces
 Meta struct template evaluated at compile time when compiling default_object. More...
 
struct  default_object
 Declares the class to use when implementing IObject::GetInterface using inheritance. More...
 
class  default_object< inherit_from< Parents... >, expose_interfaces< Interfaces... >, Child >
 Used to implement IObject::GetInterface() methods with given interfaces to expose. More...
 
class  extend_object
 Used to implement IObject::GetInterface() methods with given interfaces to expose. More...
 
class  class_factory
 The class class_factory provides a template based implementation of the IClassFactory interface, that can create exactly one kind of object for the class. More...
 
class  cPooledClassFactory
 
class  cClassInfo
 The Helper Storage Class for a IClassInfo. More...
 
class  cEventSource
 The class cEventSource provides a basic implementation of IEventSource and wraps code to manage lists of pointers to IEventSink interfaces. More...
 
class  IClassFactory
 The IClassFactory interface provides methods for creating new class instances. More...
 
struct  tNamedVersion
 Named version information consisting of the modules name and its adtf_util::tVersion. More...
 
struct  tDependencyDescription
 Dependency description usable for ADTF_CLASS_DEPENDENCIES() More...
 
class  IClassInfo
 @ brief The IClassInfo interface provides a standardized way to access type information. More...
 
class  IDevice
 The IDevice interface wraps I/O devices. More...
 
class  IEventSink
 The class IEventSink provides a generic event listener interface for Internal Events. More...
 
class  IEventSource
 The class IEventSource provides a generic event provider interface. More...
 
class  IForwardIterator
 Forward iterator interface providing method Next() usable by POD forward iterators. More...
 
class  IBidirectionalIterator
 Bidirectional iterator interface details Additionally providing method Previous() for POD bidirectional iterators. More...
 
class  IRandomAccessIterator
 Random access iterator interface. More...
 
struct  pointer_iterator
 Empty struct template to specialize implementations of iterator interfaces. More...
 
struct  forward_iterator
 POD forward iterator type using a forward iterator interface to iterate over a sequence. More...
 
struct  iterator_adapter
 Adapter for begin and end iterators - usable as return and parameter value in interfaces. More...
 
struct  iterator_adapter< T, pointer_iterator >
 Adapter for beginning and end iterators which are pointers (e.g. More...
 
class  ILockedObject
 The ILockedObject interface defines exclusive locking of an object. More...
 
class  ISharedLockedObject
 The ISharedLockedObject interface defines shared locking of an object. More...
 
class  iobject_ptr_locked
 Interfaces for a guarded exclusive lock. More...
 
class  iobject_ptr_shared_locked
 Interfaces for a guarded shared lock. More...
 
class  object_ptr_locked
 Implementation for a exclusive lock guard. More...
 
class  object_ptr_shared_locked
 Implementation for a shared lock guard. More...
 
class  ILogger
 Interface for a logger. More...
 
class  IObjectCompatibility
 This class defines an enumeration for the IObject::GetInterface method. More...
 
class  IObjectInfo
 The IObjectInfo interface provides methods for getting and setting class information. More...
 
class  IObject
 Base class for every interface type within the uCOM. More...
 
class  IObjectPool
 The IObjectPool interface provides methods for managing pools of objects. More...
 
class  IPluginInfo
 Plugin interface. More...
 
class  IPlugin
 Plugin interface. More...
 
class  IPluginLogging
 Interface for logging. More...
 
class  IRuntimeHook
 The IRuntimeHook interface provides a hook callback interface. More...
 
class  IRuntime
 The IRuntime interface controls global system startup and shutdown. More...
 
class  IScriptable
 The IScriptable interface provides a generic way to implement scripting capabilities. More...
 
class  ISerializable
 The ISerializable interface provides a generic way to implement object serialization. More...
 
class  IService
 The IService interface provides defines methods for system services. More...
 
class  IInputStream
 An interface for reading data from a stream. More...
 
class  IOutputStream
 An interface for writing data to a stream. More...
 
class  IStream
 The IStream interface provides defines methods for streaming data. More...
 
class  level_machine
 Generator template to create a Basic Level Machine implmentation. More...
 
class  cLockedObject
 The IStream interface provides defines methods for streaming data. More...
 
class  cSharedLockedObject
 The IStream interface provides defines methods for streaming data. More...
 
class  iobject_enum
 Interface definition for a container of objects. More...
 
class  object_enum_base
 basic object interface implementation template. More...
 
class  object_enum
 container type template for a set of object_ptr This template will provide a container for object_ptr with type T and implements a filtered interface for iobject_enum wtih type INTERFACE_TYPE More...
 
class  object_ptr_const_conversion
 Enables implicit conversion operators to iobject_ptr<const T> More...
 
class  object_ptr_const_conversion< const T >
 Disables implicit conversion operators to iobject_ptr<const T> (implemented through inheritance) More...
 
class  object_ptr_base
 Base class for object_ptr<> More...
 
class  object_ptr_base< T, false, TChild >
 Base class for object_ptr<> specialized for T without an ADTF_IID() defined. More...
 
class  object_ptr_base< T, true, TChild >
 Base class for object_ptr<> specialized for T with an ADTF_IID() defined. More...
 
class  object_ptr_base< IObject >
 Specialized for child class being object_ptr<IObject> (only implicit conversion to const necessary) More...
 
class  object_ptr_base< const IObject >
 Specialized for child class being object_ptr<const IObject> (no conversion operator necessary) More...
 
class  object_ptr
 Object pointer implementation used for reference counting on objects of type IObject. More...
 
class  iobject_ptr_base
 Base class for iobject_ptr<T> defining their commonly used interface methods. More...
 
class  iobject_ptr
 Base object pointer to realize binary compatible reference counting in interface methods. More...
 
class  iobject_ptr< const T >
 Base object pointer to realize binary compatible reference counting in interface methods. More...
 
class  enable_object_ptr_from_this
 Safely retrieve a valid object_ptr<> instance to *this when all we have is *this. More...
 
class  weak_object_ptr
 Implementation of a weak pointer for usage with iobject_ptr and object_ptr. More...
 
class  cPlugin
 
struct  plugin_version_default
 
class  plugin_template
 
struct  plugin_initializer
 
class  cPluginInfo
 Plugin Info default interface implementation. More...
 
class  cServiceLevelmachine
 
class  cService
 
class  cStream
 The cStream Class provides a basic, simple implementation for IStream interface. More...
 
struct  ucom_type_streamer
 Helper template for writing and reading types. More...
 
struct  ucom_type_streamer< adtf_util::cString >
 Specialize cString writing. More...
 

Typedefs

template<typename T >
using iobject_list = iobject_enum< T >
 alias type for iobject_enum. More...
 
template<typename T >
using iobject_vector = iobject_enum< T >
 alias type for iobject_enum. More...
 
template<typename T , typename INTERFACE_TYPE = T>
using object_list = object_enum< T, INTERFACE_TYPE, std::list >
 Implementation of an iobject_list<INTERFACE_TYPE> interface by using a std::list as container type. More...
 
template<typename T , typename INTERFACE_TYPE = T>
using object_vector = object_enum< T, INTERFACE_TYPE, std::vector >
 Implementation of an iobject_vector<INTERFACE_TYPE> interface by using a std::vector as container type. More...
 
typedef UCOM_PLUGIN_IMPORT int32_t(UCOM_PLUGIN_CALLTYPE * fnUCOMGetVersion) (const char *strVersionID, uint32_t *pui32UCOMMajor, uint32_t *pui32UCOMMinor, uint32_t *pui32UCOMPatch)
 function for the c - Plugin Entry to load a plugin
 
typedef UCOM_PLUGIN_IMPORT int32_t(UCOM_PLUGIN_CALLTYPE * fnUCOMLoadPlugin) (void *pvRuntimeInstance, uint32_t ui32UCOMMajor, uint32_t ui32UCOMMinor, uint32_t ui32UCOMPatch, void **ppvPluginObject, tHandle hModule)
 function for the c - Plugin Entry to load a plugin
 
typedef UCOM_PLUGIN_IMPORT int32_t(UCOM_PLUGIN_CALLTYPE * fnUCOMUnloadPlugin) ()
 function for the c - Plugin Entry to unload a plugin
 

Enumerations

enum  object_enum_push_option { eNone = 0x00 , eNoDuplicates = 0x01 }
 Push option for object_enum_intf::PushObject. More...
 

Functions

template<typename Interface >
const char * get_iid ()
 Get the interface id (IID) of the Interface type. More...
 
template<typename Interface >
const char * get_iid (const Interface &)
 Convenience function usable with a reference to an object of type interface. More...
 
template<typename Interface >
const char * get_iid (const Interface *)
 Convenience function usable with a pointer to an object of type interface. More...
 
template<typename classT >
constexpr iterator_adapter< const tDependencyDescription, pointer_iteratorget_class_dependencies ()
 Get the class dependencies (corresponding to the CID) of the Class type. More...
 
template<typename classT >
constexpr iterator_adapter< const tDependencyDescription, pointer_iteratorget_class_dependencies (const classT &)
 Convenience function usable with a reference to an object of type class. More...
 
template<typename classT >
constexpr iterator_adapter< const tDependencyDescription, pointer_iteratorget_class_dependencies (const classT *)
 Convenience function usable with a reference to an object of type class. More...
 
template<typename classT >
constexpr const char * get_class_id ()
 Get the class id (CID) of the Class type. More...
 
template<typename classT >
constexpr const char * get_class_id (const classT &)
 Convenience function usable with a reference to an object of type classT. More...
 
template<typename classT >
constexpr const char * get_class_id (const classT *)
 Convenience function usable with a pointer to an object of type classT. More...
 
template<typename classT >
constexpr const char * get_class_label ()
 Get the class label (corresponding to the CID) of the Class type (a readable name !) More...
 
template<typename classT >
constexpr const char * get_class_label (const classT &)
 Convenience function usable with a reference to an object of type class. More...
 
template<typename classT >
constexpr const char * get_class_label (const classT *)
 Convenience function usable with a pointer to an object of type class. More...
 
template<typename classT >
constexpr const cClassInfoget_class_info_reference ()
 Get reference to static class info constant of the classT type. More...
 
template<typename classT >
constexpr const cClassInfoget_class_info_reference (const classT *)
 Convenience function usable with a pointer to an object of type classT. More...
 
template<typename classT >
constexpr const cClassInfoget_class_info_reference (const classT &)
 Convenience function usable with a reference to an object of type classT. More...
 
template<typename classT >
object_ptr< const adtf::ucom::ant::IClassInfoget_class_info ()
 Get the class info of the Class type. More...
 
template<typename classT >
object_ptr< const adtf::ucom::ant::IClassInfoget_class_info (const classT &)
 Convenience function usable with a reference to an object of type classT. More...
 
template<typename classT >
object_ptr< const adtf::ucom::ant::IClassInfoget_class_info (const classT *)
 Convenience function usable with a pointer to an object of type classT. More...
 
template<typename ... Args>
constexpr tNamedVersion add_version (const char *i_strProduct, Args... args)
 Used for parameter list in ADTF_CLASS_DEPENDENCIES() to define version information. More...
 
template<typename classT >
constexpr iterator_adapter< const tNamedVersion, pointer_iteratorget_class_versions ()
 Get the class versions (corresponding to the CID) of the Class type. More...
 
template<typename classT >
constexpr iterator_adapter< const tNamedVersion, pointer_iteratorget_class_versions (const classT &)
 Convenience function usable with a reference to an object of type class. More...
 
template<typename classT >
constexpr iterator_adapter< const tNamedVersion, pointer_iteratorget_class_versions (const classT *)
 Convenience function usable with a pointer to an object of type class. More...
 
template<typename T >
bool operator< (const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
 Less-than operator for forward_iterator. More...
 
template<typename T >
bool operator> (const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
 Greater-than operator for forward_iterator. More...
 
template<typename T >
bool operator<= (const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
 Less-than-or-equal operator for forward_iterator. More...
 
template<typename T >
bool operator>= (const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
 Greater-than-or-equal operator for forward_iterator. More...
 
template<typename T >
bool operator== (const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
 Equality operator for forward_iterator. More...
 
template<typename T >
bool operator!= (const forward_iterator< T > &oLHS, const forward_iterator< T > &oRHS) noexcept
 Inequality operator for forward_iterator. More...
 
template<typename T , typename U >
bool operator== (const iobject_ptr< T > &i_oLHS, const U *i_pRHS)
 Compare iobject_ptr<T> with plain pointer of the same type for equality. More...
 
template<typename T , typename U >
bool operator== (const T *i_pLHS, const iobject_ptr< U > &i_oRHS)
 Compare iobject_ptr<T> with plain pointer of the same type for equality. More...
 
template<typename T , typename U >
bool operator!= (const iobject_ptr< T > &i_oLHS, const U *i_pRHS)
 Compare iobject_ptr<T> with plain pointer of the same type for inequality. More...
 
template<typename T , typename U >
bool operator!= (const T *i_pLHS, const iobject_ptr< U > &i_oRHS)
 Compare iobject_ptr<T> with plain pointer of the same type for inequality. More...
 
template<typename T , typename U >
bool operator== (const iobject_ptr< T > &i_oLHS, const iobject_ptr< U > &i_oRHS)
 Compare two iobject_ptr with shared resource of same base for equality. More...
 
template<typename T , typename U >
bool operator!= (const iobject_ptr< T > &i_oLHS, const iobject_ptr< U > &i_oRHS)
 Compare two iobject_ptr with shared resource of same base for inequality. More...
 
template<typename T , typename U >
bool operator< (const iobject_ptr< T > &i_oLHS, const iobject_ptr< U > &i_oRHS)
 Less-than-operator for two iobject_ptr with shared resource of same base. More...
 
template<typename T , typename U >
bool operator> (const iobject_ptr< T > &i_oLHS, const iobject_ptr< U > &i_oRHS)
 Greater-than-operator for two iobject_ptr with shared resource of same base. More...
 
template<typename T , typename U >
bool operator<= (const iobject_ptr< T > &i_oLHS, const iobject_ptr< U > &i_oRHS)
 Less-than-or-equal-operator for two iobject_ptr with shared resource of same base. More...
 
template<typename T , typename U >
bool operator>= (const iobject_ptr< T > &i_oLHS, const iobject_ptr< U > &i_oRHS)
 Greater-than-or-equal-operator for two iobject_ptr with shared resource of same base. More...
 
template<typename T >
bool operator== (const iobject_ptr< T > &i_oLHS, std::nullptr_t)
 Compare iobject_ptr<T> with nullptr type for equality. More...
 
template<typename T >
bool operator== (std::nullptr_t, const iobject_ptr< T > &i_oRHS)
 Compare iobject_ptr<T> with nullptr type for equality. More...
 
template<typename T >
bool operator!= (const iobject_ptr< T > &i_oLHS, std::nullptr_t)
 Compare iobject_ptr<T> with nullptr type for inequality. More...
 
template<typename T >
bool operator!= (std::nullptr_t, const iobject_ptr< T > &i_oRHS)
 Compare iobject_ptr<T> with nullptr type for inequality. More...
 
template<typename T >
bool operator< (const iobject_ptr< T > &i_oLHS, std::nullptr_t)
 Check whether an iobject_ptr<T> contains a shared pointer less than nullptr. More...
 
template<typename T >
bool operator< (std::nullptr_t, const iobject_ptr< T > &i_oRHS)
 Check whether an iobject_ptr<T> contains a shared pointer less than nullptr. More...
 
template<typename T >
bool operator<= (const iobject_ptr< T > &i_oLHS, std::nullptr_t)
 Check whether an iobject_ptr<T> contains a shared pointer less than or equal to nullptr. More...
 
template<typename T >
bool operator<= (std::nullptr_t, const iobject_ptr< T > &i_oRHS)
 Check whether an iobject_ptr<T> contains a shared pointer less than or equal to nullptr. More...
 
template<typename T >
bool operator> (const iobject_ptr< T > &i_oLHS, std::nullptr_t)
 Check whether an iobject_ptr<T> contains a shared pointer greater than nullptr. More...
 
template<typename T >
bool operator> (std::nullptr_t, const iobject_ptr< T > &i_oRHS)
 Check whether an iobject_ptr<T> contains a shared pointer greater than nullptr. More...
 
template<typename T >
bool operator>= (const iobject_ptr< T > &i_oLHS, std::nullptr_t)
 Check whether an iobject_ptr<T> contains a shared pointer greater than or equal to nullptr. More...
 
template<typename T >
bool operator>= (std::nullptr_t, const iobject_ptr< T > &i_oRHS)
 Check whether an iobject_ptr<T> contains a shared pointer greater than or equal to nullptr. More...
 
template<typename T , typename U >
object_ptr< T > ucom_object_ptr_cast (const iobject_ptr< U > &i_oOther)
 Create an object_ptr with an already shared resource of implicitly convertible type. More...
 
template<typename Implementation , typename ... Args>
std::enable_if< !std::is_base_of< enable_object_ptr_from_this< typename std::remove_cv< Implementation >::type >, typename std::remove_cv< Implementation >::type >::value, object_ptr< Implementation > >::type make_object_ptr (Args &&... args)
 Create an instance of type object_ptr with Implementation as the shared resource. More...
 
template<typename Implementation , typename ... Args>
std::enable_if< std::is_base_of< enable_object_ptr_from_this< typename std::remove_cv< Implementation >::type >, typename std::remove_cv< Implementation >::type >::value, object_ptr< Implementation > >::type make_object_ptr (Args &&... args)
 Create an instance of type object_ptr with Implementation as the shared resource. More...
 
template<typename T , typename U , template< typename > class TDest = iobject_ptr, template< typename > class TSrc = iobject_ptr>
tResult reset_object_ptr (TDest< const T > &o_oDest, const TSrc< U > &i_oSrc)
 Reset an iobject_ptr with const T. More...
 
template<typename T , template< typename > class TSrc = iobject_ptr>
tResult reset_object_ptr (iobject_ptr< const T > &o_oDest, const TSrc< T > &i_oSrc)
 Reset an iobject_ptr with const T - specialization for best performance. More...
 
tResult get_plugin (iobject_ptr< IPlugin > &pPlugin)
 Returns a reference to the plugin instance of the current module. More...
 
tResult ucom_write_to_stream_buffer (IOutputStream &oOutStream, const void *pBuffer, size_t szBuffer, size_t &szCount)
 
tResult ucom_write_to_stream_string (IOutputStream &oOutStream, const adtf_util::cString &strValue, size_t &szCount)
 
tResult ucom_read_from_stream_buffer (const IInputStream &oInStream, void *pBuffer, size_t szBuffer, size_t &szCount)
 
tResult ucom_read_from_stream_string (const IInputStream &oInStream, adtf_util::cString &strValue, size_t &szReadCount)
 
template<typename T >
tResult ucom_write_to_stream (IOutputStream &oOutStream, const T &oValue, size_t &szCount)
 
template<typename T >
tResult ucom_read_from_stream (const IInputStream &oInStream, T &oValue, size_t &szCount)
 
template<typename T >
IOutputStreamoperator<< (IOutputStream &oWriteStream, const T &oValue)
 
template<typename T >
const IInputStreamoperator>> (const IInputStream &oReadStream, T &oValue)
 
template<typename InterfacePointerType , typename ObjectPointerType >
InterfacePointerType ucom_cast (ObjectPointerType i_pObject)
 Used to cast arbitrary interface types within the UCOM. More...
 

Detailed Description

Namespace for all functionality provided since v3.0.

Typedef Documentation

◆ iobject_list

using iobject_list = iobject_enum < T >

alias type for iobject_enum.

Template Parameters
Tinterface object type to represent (this value type must derived from IObject)

Definition at line 387 of file object_list.h.

◆ iobject_vector

alias type for iobject_enum.

Template Parameters
Tinterface object type to represent (this value type must derived from IObject)

Definition at line 394 of file object_list.h.

◆ object_list

using object_list = object_enum < T, INTERFACE_TYPE, std::list>

Implementation of an iobject_list<INTERFACE_TYPE> interface by using a std::list as container type.

Template Parameters
Tobject type to store (this value type must derived from IObject)
INTERFACE_TYPEinterface type the implementation represents. (iobject_list<INTERFACE_TYPE>)

Definition at line 402 of file object_list.h.

◆ object_vector

using object_vector = object_enum < T, INTERFACE_TYPE, std::vector>

Implementation of an iobject_vector<INTERFACE_TYPE> interface by using a std::vector as container type.

Template Parameters
Tobject type to store (this value type must derived from IObject)
INTERFACE_TYPEinterface type the implementation represents. (iobject_vector<INTERFACE_TYPE>)

Definition at line 410 of file object_list.h.

Enumeration Type Documentation

◆ object_enum_push_option

Push option for object_enum_intf::PushObject.

Enumerator
eNone 

no push option set

eNoDuplicates 

filter duplicates on PushObject call

Definition at line 59 of file object_list.h.

Function Documentation

◆ add_version()

constexpr tNamedVersion adtf::ucom::ant::add_version ( const char *  i_strProduct,
Args...  args 
)
constexpr

Used for parameter list in ADTF_CLASS_DEPENDENCIES() to define version information.

Template Parameters
Listof integral type used as integral types for adtf_util::tVersion
Parameters
[in]i_strProductName of the product the version is given for
[in]argsList of integral constants used as parameters for adtf_util::tVersion
Returns
Compile time constant of type tNamedVersion generated with i_strProduct and args

Definition at line 61 of file class_versions.h.

◆ get_class_dependencies() [1/3]

constexpr iterator_adapter<const tDependencyDescription, pointer_iterator> adtf::ucom::ant::get_class_dependencies ( )
constexpr

Get the class dependencies (corresponding to the CID) of the Class type.

Template Parameters
classTClass type the version needs to be queried from. ADTF_CLASS_ID_NAME() is mandatory and ADTF_CLASS_DEPENDENCIES() is optional within public scope of classT to get the dependencies outside the class implementation.
Returns
iterator adapter instance containing begin and end iterators of the dependency container

Definition at line 96 of file class_dependencies.h.

◆ get_class_dependencies() [2/3]

constexpr iterator_adapter<const tDependencyDescription, pointer_iterator> adtf::ucom::ant::get_class_dependencies ( const classT &  )
constexpr

Convenience function usable with a reference to an object of type class.

tDependencyDescription, pointer_iterator> get_class_dependencies() tDependencyDescription, pointer_iterator> get_class_dependencies()

Definition at line 113 of file class_dependencies.h.

◆ get_class_dependencies() [3/3]

constexpr iterator_adapter<const tDependencyDescription, pointer_iterator> adtf::ucom::ant::get_class_dependencies ( const classT *  )
constexpr

Convenience function usable with a reference to an object of type class.

tDependencyDescription, pointer_iterator> get_class_dependencies() tDependencyDescription, pointer_iterator> get_class_dependencies()

Definition at line 124 of file class_dependencies.h.

◆ get_class_id() [1/3]

constexpr const char* adtf::ucom::ant::get_class_id ( )
constexpr

Get the class id (CID) of the Class type.

Template Parameters
classTClass type the IID needs to be queried from. ADTF_CLASS_ID() needs to be implemented within public class scope of classT to get the CID outside the class implementation
Returns
The class identifier as string representation defined in ADTF_CLASS_ID()

Definition at line 110 of file class_id.h.

◆ get_class_id() [2/3]

constexpr const char* adtf::ucom::ant::get_class_id ( const classT &  )
constexpr

Convenience function usable with a reference to an object of type classT.

Get the class id (CID) of the Class type.

Template Parameters
classTClass type the IID needs to be queried from. ADTF_CLASS_ID() needs to be implemented within public class scope of classT to get the CID outside the class implementation
Returns
The class identifier as string representation defined in ADTF_CLASS_ID()

Definition at line 125 of file class_id.h.

◆ get_class_id() [3/3]

constexpr const char* adtf::ucom::ant::get_class_id ( const classT *  )
constexpr

Convenience function usable with a pointer to an object of type classT.

Get the class id (CID) of the Class type.

Template Parameters
classTClass type the IID needs to be queried from. ADTF_CLASS_ID() needs to be implemented within public class scope of classT to get the CID outside the class implementation
Returns
The class identifier as string representation defined in ADTF_CLASS_ID()

Definition at line 132 of file class_id.h.

◆ get_class_info() [1/3]

object_ptr<const adtf::ucom::ant::IClassInfo> adtf::ucom::ant::get_class_info ( )

Get the class info of the Class type.

Template Parameters
classTClass type the class info object needs to be queried from. ADTF_CLASS_ID() or ADTF_CLASS_ID_NAME() needs to be implemented within public class scope of classT
Returns
object pointer to IClassInfo

Definition at line 109 of file class_info.h.

◆ get_class_info() [2/3]

object_ptr<const adtf::ucom::ant::IClassInfo> adtf::ucom::ant::get_class_info ( const classT &  )

Convenience function usable with a reference to an object of type classT.

Get the class info of the Class type.

Template Parameters
classTClass type the class info object needs to be queried from. ADTF_CLASS_ID() or ADTF_CLASS_ID_NAME() needs to be implemented within public class scope of classT
Returns
object pointer to IClassInfo

Definition at line 120 of file class_info.h.

◆ get_class_info() [3/3]

object_ptr<const adtf::ucom::ant::IClassInfo> adtf::ucom::ant::get_class_info ( const classT *  )

Convenience function usable with a pointer to an object of type classT.

Get the class info of the Class type.

Template Parameters
classTClass type the class info object needs to be queried from. ADTF_CLASS_ID() or ADTF_CLASS_ID_NAME() needs to be implemented within public class scope of classT
Returns
object pointer to IClassInfo

Definition at line 130 of file class_info.h.

◆ get_class_info_reference() [1/3]

constexpr const cClassInfo& adtf::ucom::ant::get_class_info_reference ( )
constexpr

Get reference to static class info constant of the classT type.

Template Parameters
classTClass type the static class info constant needs to be queried from. ADTF_CLASS_ID() or ADTF_CLASS_ID_NAME() needs to be implemented within public class scope of classT
Returns
Reference to static class info constant of type classT

Definition at line 69 of file class_info.h.

◆ get_class_info_reference() [2/3]

constexpr const cClassInfo& adtf::ucom::ant::get_class_info_reference ( const classT &  )
constexpr

Convenience function usable with a reference to an object of type classT.

Get reference to static class info constant of the classT type.

Template Parameters
classTClass type the static class info constant needs to be queried from. ADTF_CLASS_ID() or ADTF_CLASS_ID_NAME() needs to be implemented within public class scope of classT
Returns
Reference to static class info constant of type classT

Definition at line 95 of file class_info.h.

◆ get_class_info_reference() [3/3]

constexpr const cClassInfo& adtf::ucom::ant::get_class_info_reference ( const classT *  )
constexpr

Convenience function usable with a pointer to an object of type classT.

Get reference to static class info constant of the classT type.

Template Parameters
classTClass type the static class info constant needs to be queried from. ADTF_CLASS_ID() or ADTF_CLASS_ID_NAME() needs to be implemented within public class scope of classT
Returns
Reference to static class info constant of type classT

Definition at line 85 of file class_info.h.

◆ get_class_label() [1/3]

constexpr const char* adtf::ucom::ant::get_class_label ( )
constexpr

Get the class label (corresponding to the CID) of the Class type (a readable name !)

Template Parameters
classTClass type the Label needs to be queried from. ADTF_CLASS_ID_LABEL() needs to be implemented within public class scope of the Class to get the CID outside the class implementation
Returns
The class identifier as string representation defined in ADTF_CLASS_ID_NAME()

Definition at line 143 of file class_id.h.

◆ get_class_label() [2/3]

constexpr const char* adtf::ucom::ant::get_class_label ( const classT &  )
constexpr

Convenience function usable with a reference to an object of type class.

Get the class label (corresponding to the CID) of the Class type (a readable name !)

Template Parameters
classTClass type the Label needs to be queried from. ADTF_CLASS_ID_LABEL() needs to be implemented within public class scope of the Class to get the CID outside the class implementation
Returns
The class identifier as string representation defined in ADTF_CLASS_ID_NAME()

Definition at line 159 of file class_id.h.

◆ get_class_label() [3/3]

constexpr const char* adtf::ucom::ant::get_class_label ( const classT *  )
constexpr

Convenience function usable with a pointer to an object of type class.

Get the class label (corresponding to the CID) of the Class type (a readable name !)

Template Parameters
classTClass type the Label needs to be queried from. ADTF_CLASS_ID_LABEL() needs to be implemented within public class scope of the Class to get the CID outside the class implementation
Returns
The class identifier as string representation defined in ADTF_CLASS_ID_NAME()

Definition at line 166 of file class_id.h.

◆ get_class_versions() [1/3]

constexpr iterator_adapter<const tNamedVersion, pointer_iterator> adtf::ucom::ant::get_class_versions ( )
constexpr

Get the class versions (corresponding to the CID) of the Class type.

Template Parameters
classTClass type the version needs to be queried from. ADTF_CLASS_ID_NAME() is mandatory and ADTF_CLASS_VERSIONS() is optional within public class scope of classT to get the version outside the class implementation.
Returns
iterator adapter instance containing iterators to begin and end of the version container

Definition at line 78 of file class_versions.h.

◆ get_class_versions() [2/3]

constexpr iterator_adapter<const tNamedVersion, pointer_iterator> adtf::ucom::ant::get_class_versions ( const classT &  )
constexpr

Convenience function usable with a reference to an object of type class.

tNamedVersion, pointer_iterator> get_class_versions() tNamedVersion, pointer_iterator> get_class_versions()

Definition at line 94 of file class_versions.h.

◆ get_class_versions() [3/3]

constexpr iterator_adapter<const tNamedVersion, pointer_iterator> adtf::ucom::ant::get_class_versions ( const classT *  )
constexpr

Convenience function usable with a pointer to an object of type class.

tNamedVersion, pointer_iterator> get_class_versions() tNamedVersion, pointer_iterator> get_class_versions()

Definition at line 104 of file class_versions.h.

◆ get_iid() [1/3]

const char* adtf::ucom::ant::get_iid ( )

Get the interface id (IID) of the Interface type.

Template Parameters
InterfaceInterface type the IID needs to be queried from. ADTF_IID() needs to be implemented within public class scope of Interface, otherwise the build process gets canceled using a static_assert.
Returns
The interface id as string representation defined in implementation of ADTF_IID()

Definition at line 429 of file adtf_iid.h.

◆ get_iid() [2/3]

const char* adtf::ucom::ant::get_iid ( const Interface &  )

Convenience function usable with a reference to an object of type interface.

Get the interface id (IID) of the Interface type.

Template Parameters
InterfaceInterface type the IID needs to be queried from. ADTF_IID() needs to be implemented within public class scope of Interface, otherwise the build process gets canceled using a static_assert.
Returns
The interface id as string representation defined in implementation of ADTF_IID()

Definition at line 445 of file adtf_iid.h.

◆ get_iid() [3/3]

const char* adtf::ucom::ant::get_iid ( const Interface *  )

Convenience function usable with a pointer to an object of type interface.

Get the interface id (IID) of the Interface type.

Template Parameters
InterfaceInterface type the IID needs to be queried from. ADTF_IID() needs to be implemented within public class scope of Interface, otherwise the build process gets canceled using a static_assert.
Returns
The interface id as string representation defined in implementation of ADTF_IID()

Definition at line 454 of file adtf_iid.h.

◆ get_plugin()

tResult adtf::ucom::ant::get_plugin ( iobject_ptr< IPlugin > &  pPlugin)

Returns a reference to the plugin instance of the current module.

Parameters
[out]pPluginThe plugin.
Returns
Standard result.

◆ make_object_ptr() [1/2]

std::enable_if< !std::is_base_of < enable_object_ptr_from_this<typename std::remove_cv<Implementation>::type>, typename std::remove_cv<Implementation>::type >::value, object_ptr<Implementation> >::type adtf::ucom::ant::make_object_ptr ( Args &&...  args)
inline

Create an instance of type object_ptr with Implementation as the shared resource.

make_object_ptr can be used in complete analogy to std::make_shared or std::make_unique - to create an object of type object_ptr without the need to explicitly call new to allocate the shared resource. In fact, this function is the only valid way to create an object_ptr with a new shared resource.

Template Parameters
ImplementationType of the shared resource which is created using the default allocator new.
ArgsParameter pack forwarded to the constructor of Implementation during instantiation.
Parameters
[in]argsParameters forwared to the constructor of Implementation during instantiation.
Note
Due to the provided aliasing constructor in object_ptr, any created object_ptr with a concrete implementation of IObject can be implicitly converted to an object_ptr managing a pointer to an interface of this concrete implementation.
Return values
Onsuccess, the instance contains a newly allocated, reference counted object of type Implementation
Onfailure, the instance contains an object of nullptr_t
See also
Instantiating reference counted objects

Definition at line 143 of file object_ptr_utilities.h.

Referenced by adtf::streaming::ant::create_client(), adtf::streaming::catwo::create_client(), adtf::streaming::flash::create_client(), adtf::streaming::ant::create_server(), adtf::streaming::catwo::create_server(), adtf::streaming::flash::create_server(), adtf::streaming::elasto::create_weak_binding_server(), cGraphObject::CreateInterfaceClient(), cGraphObject::CreateInterfaceServer(), adtf::mediadescription::ant::make_sample_reader(), adtf::mediadescription::flash::make_sample_reader(), adtf::mediadescription::ant::make_sample_writer(), and adtf::mediadescription::flash::make_sample_writer().

◆ make_object_ptr() [2/2]

std::enable_if< std::is_base_of < enable_object_ptr_from_this<typename std::remove_cv<Implementation>::type>, typename std::remove_cv<Implementation>::type >::value, object_ptr<Implementation> >::type adtf::ucom::ant::make_object_ptr ( Args &&...  args)
inline

Create an instance of type object_ptr with Implementation as the shared resource.

make_object_ptr can be used in complete analogy to std::make_shared or std::make_unique - to create an object of type object_ptr without the need to explicitly call new to allocate the shared resource. In fact, this function is the only valid way to create an object_ptr with a new shared resource.

Template Parameters
ImplementationType of the shared resource which is created using the default allocator new.
ArgsParameter pack forwarded to the constructor of Implementation during instantiation.
Parameters
[in]argsParameters forwarded to the constructor of Implementation during instantiation.
Note
Due to the provided aliasing constructor in object_ptr, any created object_ptr with a concrete implementation of IObject can be implicitly converted to an object_ptr managing a pointer to an interface of this concrete implementation.
Returns
An instance of object_ptr<Implementation>
Return values
Onsuccess, the instance contains a newly allocated, reference counted object of type Implementation
Onfailure, the instance contains an object of nullptr_t
See also
Instantiating reference counted objects

Definition at line 180 of file object_ptr_utilities.h.

References enable_object_ptr_from_this< T >::Assign().

◆ operator!=() [1/6]

bool adtf::ucom::ant::operator!= ( const forward_iterator< T > &  oLHS,
const forward_iterator< T > &  oRHS 
)
inlinenoexcept

Inequality operator for forward_iterator.

Template Parameters
TValue type of the container the iterator operates on
Parameters
[in]oLHSLeft hand side iterator object
[in]oRHSRight hand side iterator object
Returns
true if pointer to value of oLHS is not equal pointer to value of oRHS, false otherwise

Definition at line 178 of file iterator_intf.h.

◆ operator!=() [2/6]

bool adtf::ucom::ant::operator!= ( const iobject_ptr< T > &  i_oLHS,
const iobject_ptr< U > &  i_oRHS 
)

Compare two iobject_ptr with shared resource of same base for inequality.

Template Parameters
TType of the pointer to the shared resource
UType of the pointer to the shared resource (implicitly convertible to T)
Parameters
[in]i_oLHSLeft hand side shared object pointer containing the shared resource.
[in]i_oRHSRight hand side shared object pointer containing the shared resource.
Returns
false if i_oLHS and i_oRHS contain the same shared resource, true otherwise.

Definition at line 189 of file object_ptr_intf.h.

References operator==().

◆ operator!=() [3/6]

bool adtf::ucom::ant::operator!= ( const iobject_ptr< T > &  i_oLHS,
const U *  i_pRHS 
)

Compare iobject_ptr<T> with plain pointer of the same type for inequality.

Template Parameters
TType of the pointer to the shared resource
UType of the pointer to the shared resource (implicitly convertible to T)
Parameters
[in]i_oLHSShared object pointer containing the shared resource.
[in]i_pRHSOrdinary pointer to resource.
Returns
false if i_oLHS and i_pRHS point to the same address, true otherwise.

Definition at line 147 of file object_ptr_intf.h.

References operator==().

◆ operator!=() [4/6]

bool adtf::ucom::ant::operator!= ( const iobject_ptr< T > &  i_oLHS,
std::nullptr_t   
)

Compare iobject_ptr<T> with nullptr type for inequality.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oLHSShared object pointer containing the shared resource.
Returns
false if i_oLHS contains a nullptr, true otherwise.

Definition at line 282 of file object_ptr_intf.h.

References iobject_ptr_base< T >::Get().

◆ operator!=() [5/6]

bool adtf::ucom::ant::operator!= ( const T *  i_pLHS,
const iobject_ptr< U > &  i_oRHS 
)

Compare iobject_ptr<T> with plain pointer of the same type for inequality.

Template Parameters
TType of the pointer to the shared resource
UType of the pointer to the shared resource (implicitly convertible to T)
Parameters
[in]i_pLHSOrdinary pointer to resource.
[in]i_oRHSShared object pointer containing the shared resource.
Returns
false if i_pLHS and i_oRHS point to the same address, true otherwise.

Definition at line 161 of file object_ptr_intf.h.

References operator==().

◆ operator!=() [6/6]

bool adtf::ucom::ant::operator!= ( std::nullptr_t  ,
const iobject_ptr< T > &  i_oRHS 
)

Compare iobject_ptr<T> with nullptr type for inequality.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oRHSShared object pointer containing the shared resource.
Returns
false if i_oRHS contains a nullptr, true otherwise.

Definition at line 294 of file object_ptr_intf.h.

◆ operator<() [1/4]

bool adtf::ucom::ant::operator< ( const forward_iterator< T > &  oLHS,
const forward_iterator< T > &  oRHS 
)
inlinenoexcept

Less-than operator for forward_iterator.

Template Parameters
TValue type of the container the iterator operates on
Parameters
[in]oLHSLeft hand side iterator object
[in]oRHSRight hand side iterator object
Returns
true if pointer to value of oLHS is less than pointer to value of oRHS, false otherwise

Definition at line 108 of file iterator_intf.h.

Referenced by operator<=(), operator>(), and operator>=().

◆ operator<() [2/4]

bool adtf::ucom::ant::operator< ( const iobject_ptr< T > &  i_oLHS,
const iobject_ptr< U > &  i_oRHS 
)

Less-than-operator for two iobject_ptr with shared resource of same base.

Template Parameters
TType of the pointer to the shared resource
UType of the pointer to the shared resource (implicitly convertible to T)
Parameters
[in]i_oLHSLeft hand side shared object pointer containing the shared resource.
[in]i_oRHSRight hand side shared object pointer containing the shared resource.
Returns
true if i_oLHS is less than i_oRHS, false otherwise.

Definition at line 203 of file object_ptr_intf.h.

References iobject_ptr_base< T >::Get().

◆ operator<() [3/4]

bool adtf::ucom::ant::operator< ( const iobject_ptr< T > &  i_oLHS,
std::nullptr_t   
)

Check whether an iobject_ptr<T> contains a shared pointer less than nullptr.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oLHSShared object pointer containing the shared resource.
Returns
true if i_oLHS is less than a nullptr, false otherwise.

Definition at line 306 of file object_ptr_intf.h.

References iobject_ptr_base< T >::Get().

◆ operator<() [4/4]

bool adtf::ucom::ant::operator< ( std::nullptr_t  ,
const iobject_ptr< T > &  i_oRHS 
)

Check whether an iobject_ptr<T> contains a shared pointer less than nullptr.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oRHSShared object pointer containing the shared resource.
Returns
false if i_oRHS is less than a nullptr, true otherwise.

Definition at line 318 of file object_ptr_intf.h.

References iobject_ptr_base< T >::Get().

◆ operator<=() [1/4]

bool adtf::ucom::ant::operator<= ( const forward_iterator< T > &  oLHS,
const forward_iterator< T > &  oRHS 
)
inlinenoexcept

Less-than-or-equal operator for forward_iterator.

Template Parameters
TValue type of the container the iterator operates on
Parameters
[in]oLHSLeft hand side iterator object
[in]oRHSRight hand side iterator object
Returns
true if pointer to value of oLHS is less than or equal pointer to value of oRHS, false otherwise

Definition at line 136 of file iterator_intf.h.

◆ operator<=() [2/4]

bool adtf::ucom::ant::operator<= ( const iobject_ptr< T > &  i_oLHS,
const iobject_ptr< U > &  i_oRHS 
)

Less-than-or-equal-operator for two iobject_ptr with shared resource of same base.

Template Parameters
TType of the pointer to the shared resource
UType of the pointer to the shared resource (implicitly convertible to T)
Parameters
[in]i_oLHSLeft hand side shared object pointer containing the shared resource.
[in]i_oRHSRight hand side shared object pointer containing the shared resource.
Returns
true if i_oLHS is less than or equal to i_oRHS, false otherwise.

Definition at line 232 of file object_ptr_intf.h.

References operator>().

◆ operator<=() [3/4]

bool adtf::ucom::ant::operator<= ( const iobject_ptr< T > &  i_oLHS,
std::nullptr_t   
)

Check whether an iobject_ptr<T> contains a shared pointer less than or equal to nullptr.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oLHSShared object pointer containing the shared resource.
Returns
true if i_oLHS is less than or equal to nullptr, false otherwise.

Definition at line 330 of file object_ptr_intf.h.

References operator<().

◆ operator<=() [4/4]

bool adtf::ucom::ant::operator<= ( std::nullptr_t  ,
const iobject_ptr< T > &  i_oRHS 
)

Check whether an iobject_ptr<T> contains a shared pointer less than or equal to nullptr.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oRHSShared object pointer containing the shared resource.
Returns
false if i_oRHS is less than or equal to nullptr, true otherwise.

Definition at line 342 of file object_ptr_intf.h.

References operator<().

◆ operator==() [1/6]

bool adtf::ucom::ant::operator== ( const forward_iterator< T > &  oLHS,
const forward_iterator< T > &  oRHS 
)
inlinenoexcept

Equality operator for forward_iterator.

Template Parameters
TValue type of the container the iterator operates on
Parameters
[in]oLHSLeft hand side iterator object
[in]oRHSRight hand side iterator object
Returns
true if pointer to value of oLHS is equal pointer to value of oRHS, false otherwise

Definition at line 164 of file iterator_intf.h.

Referenced by operator!=(), and operator==().

◆ operator==() [2/6]

bool adtf::ucom::ant::operator== ( const iobject_ptr< T > &  i_oLHS,
const iobject_ptr< U > &  i_oRHS 
)

Compare two iobject_ptr with shared resource of same base for equality.

Template Parameters
TType of the pointer to the shared resource
UType of the pointer to the shared resource (implicitly convertible to T)
Parameters
[in]i_oLHSLeft hand side shared object pointer containing the shared resource.
[in]i_oRHSRight hand side shared object pointer containing the shared resource.
Returns
true if i_oLHS and i_oRHS contain the same shared resource, false otherwise.

Definition at line 175 of file object_ptr_intf.h.

References iobject_ptr_base< T >::Get().

◆ operator==() [3/6]

bool adtf::ucom::ant::operator== ( const iobject_ptr< T > &  i_oLHS,
const U *  i_pRHS 
)

Compare iobject_ptr<T> with plain pointer of the same type for equality.

Template Parameters
TType of the pointer to the shared resource
UType of the pointer to the shared resource (implicitly convertible to T)
Parameters
[in]i_oLHSShared object pointer containing the shared resource.
[in]i_pRHSOrdinary pointer to resource.
Returns
true if i_oLHS and i_pRHS point to the same address, false otherwise.

Definition at line 119 of file object_ptr_intf.h.

References iobject_ptr_base< T >::Get().

◆ operator==() [4/6]

bool adtf::ucom::ant::operator== ( const iobject_ptr< T > &  i_oLHS,
std::nullptr_t   
)

Compare iobject_ptr<T> with nullptr type for equality.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oLHSShared object pointer containing the shared resource.
Returns
true if i_oLHS contains a nullptr, false otherwise.

Definition at line 258 of file object_ptr_intf.h.

References iobject_ptr_base< T >::Get().

◆ operator==() [5/6]

bool adtf::ucom::ant::operator== ( const T *  i_pLHS,
const iobject_ptr< U > &  i_oRHS 
)

Compare iobject_ptr<T> with plain pointer of the same type for equality.

Template Parameters
TType of the pointer to the shared resource
UType of the pointer to the shared resource (implicitly convertible to T)
Parameters
[in]i_pLHSOrdinary pointer to resource.
[in]i_oRHSShared object pointer containing the shared resource.
Returns
true if i_pLHS and i_oRHS point to the same address, false otherwise.

Definition at line 133 of file object_ptr_intf.h.

References operator==().

◆ operator==() [6/6]

bool adtf::ucom::ant::operator== ( std::nullptr_t  ,
const iobject_ptr< T > &  i_oRHS 
)

Compare iobject_ptr<T> with nullptr type for equality.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oRHSShared object pointer containing the shared resource.
Returns
true if i_oRHS contains a nullptr, false otherwise.

Definition at line 270 of file object_ptr_intf.h.

◆ operator>() [1/4]

bool adtf::ucom::ant::operator> ( const forward_iterator< T > &  oLHS,
const forward_iterator< T > &  oRHS 
)
inlinenoexcept

Greater-than operator for forward_iterator.

Template Parameters
TValue type of the container the iterator operates on
Parameters
[in]oLHSLeft hand side iterator object
[in]oRHSRight hand side iterator object
Returns
true if pointer to value of oLHS is greater than pointer to value of oRHS, false otherwise

Definition at line 122 of file iterator_intf.h.

Referenced by operator<=().

◆ operator>() [2/4]

bool adtf::ucom::ant::operator> ( const iobject_ptr< T > &  i_oLHS,
const iobject_ptr< U > &  i_oRHS 
)

Greater-than-operator for two iobject_ptr with shared resource of same base.

Template Parameters
TType of the pointer to the shared resource
UType of the pointer to the shared resource (implicitly convertible to T)
Parameters
[in]i_oLHSLeft hand side shared object pointer containing the shared resource.
[in]i_oRHSRight hand side shared object pointer containing the shared resource.
Returns
true if i_oLHS is greater than i_oRHS, false otherwise.

Definition at line 218 of file object_ptr_intf.h.

References operator<().

◆ operator>() [3/4]

bool adtf::ucom::ant::operator> ( const iobject_ptr< T > &  i_oLHS,
std::nullptr_t   
)

Check whether an iobject_ptr<T> contains a shared pointer greater than nullptr.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oLHSShared object pointer containing the shared resource.
Returns
true if i_oLHS is greater than a nullptr, false otherwise.

Definition at line 354 of file object_ptr_intf.h.

References operator<().

◆ operator>() [4/4]

bool adtf::ucom::ant::operator> ( std::nullptr_t  ,
const iobject_ptr< T > &  i_oRHS 
)

Check whether an iobject_ptr<T> contains a shared pointer greater than nullptr.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oRHSShared object pointer containing the shared resource.
Returns
false if i_oRHS is greater than a nullptr, true otherwise.

Definition at line 366 of file object_ptr_intf.h.

References operator<().

◆ operator>=() [1/4]

bool adtf::ucom::ant::operator>= ( const forward_iterator< T > &  oLHS,
const forward_iterator< T > &  oRHS 
)
inlinenoexcept

Greater-than-or-equal operator for forward_iterator.

Template Parameters
TValue type of the container the iterator operates on
Parameters
[in]oLHSLeft hand side iterator object
[in]oRHSRight hand side iterator object
Returns
true if pointer to value of oLHS is greater than or equal pointer to value of oRHS, false otherwise

Definition at line 150 of file iterator_intf.h.

◆ operator>=() [2/4]

bool adtf::ucom::ant::operator>= ( const iobject_ptr< T > &  i_oLHS,
const iobject_ptr< U > &  i_oRHS 
)

Greater-than-or-equal-operator for two iobject_ptr with shared resource of same base.

Template Parameters
TType of the pointer to the shared resource
UType of the pointer to the shared resource (implicitly convertible to T)
Parameters
[in]i_oLHSLeft hand side shared object pointer containing the shared resource.
[in]i_oRHSRight hand side shared object pointer containing the shared resource.
Returns
true if i_oLHS is greater than or equal to i_oRHS, false otherwise.

Definition at line 246 of file object_ptr_intf.h.

References operator<().

◆ operator>=() [3/4]

bool adtf::ucom::ant::operator>= ( const iobject_ptr< T > &  i_oLHS,
std::nullptr_t   
)

Check whether an iobject_ptr<T> contains a shared pointer greater than or equal to nullptr.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oLHSShared object pointer containing the shared resource.
Returns
true if i_oLHS is greater than or equal to nullptr, false otherwise.

Definition at line 378 of file object_ptr_intf.h.

References operator<().

◆ operator>=() [4/4]

bool adtf::ucom::ant::operator>= ( std::nullptr_t  ,
const iobject_ptr< T > &  i_oRHS 
)

Check whether an iobject_ptr<T> contains a shared pointer greater than or equal to nullptr.

Template Parameters
TType of the pointer to the shared resource
Parameters
[in]i_oRHSShared object pointer containing the shared resource.
Returns
false if i_oRHS is greater than or equal to nullptr, true otherwise.

Definition at line 390 of file object_ptr_intf.h.

References operator<().

◆ reset_object_ptr() [1/2]

tResult adtf::ucom::ant::reset_object_ptr ( iobject_ptr< const T > &  o_oDest,
const TSrc< T > &  i_oSrc 
)

Reset an iobject_ptr with const T - specialization for best performance.

Template Parameters
TType of the shared resource of the object_ptr to reset
TSrcSrc object_ptr<> type to cast from
Parameters
[out]o_oDestGets reset with the object of const T
[in]i_oSrcProviding the object to reset o_oDest with.
Returns
Standard error code
Return values
o_oDest.Reset(...)else

Definition at line 247 of file object_ptr_utilities.h.

References iobject_ptr_base< T >::Reset().

◆ reset_object_ptr() [2/2]

tResult adtf::ucom::ant::reset_object_ptr ( TDest< const T > &  o_oDest,
const TSrc< U > &  i_oSrc 
)

Reset an iobject_ptr with const T.

Template Parameters
TType of the shared resource of the object_ptr to reset
UType of the shared resource managed by the object_ptr to convert from. Must be convertible to type T using ucom_cast()
TDestDestination object_ptr<> type to cast to
TSrcSrc object_ptr<> type to cast from
Parameters
[out]o_oDestGets reset with the object of const T
[in]i_oSrcProviding the object to reset o_oDest with.
Returns
Standard error code
Return values
ERR_NOERROREverything went fine
ERR_NO_INTERFACEType U does not expose interface type T (ucom_cast failed). *this is reset to nullptr
o_oDest.Reset(...)else

Definition at line 217 of file object_ptr_utilities.h.

◆ ucom_cast()

InterfacePointerType adtf::ucom::ant::ucom_cast ( ObjectPointerType  i_pObject)

Used to cast arbitrary interface types within the UCOM.

Template Parameters
InterfacePointerTypePointer to (optionally cv-qualified) complete interface type
Parameters
[in]i_pObjectPointer to object of type IObject which shall expose the queried interface.
Returns
Pointer to queried interface if the exposed interface could be found, nullptr otherwise.
Note
Works const-correct. If i_pObject is a const object of type IObject, this needs to be taken into consideration when giving the template parameter type.
See also
Page The ucom_cast<> in depth explanation for further information

Definition at line 126 of file ucom_cast.h.

◆ ucom_object_ptr_cast()

object_ptr<T> adtf::ucom::ant::ucom_object_ptr_cast ( const iobject_ptr< U > &  i_oOther)

Create an object_ptr with an already shared resource of implicitly convertible type.

Template Parameters
TType of the shared resource of the object_ptr to create
UType of the shared resource managed by the object_ptr to convert from. Must be convertible to type T using ucom_cast()
Parameters
[in]i_oOtherThe source to create the new object_ptr from.
Returns
The new object_ptr managing the shared resource of type U converted to type T. If the ucom_cast failed, the returned object_ptr is empty.

Definition at line 103 of file object_ptr_utilities.h.

References iobject_ptr_base< T >::Get().