ADTF
|
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_iterator > | get_class_dependencies () |
Get the class dependencies (corresponding to the CID) of the Class type. More... | |
template<typename classT > | |
constexpr iterator_adapter< const tDependencyDescription, pointer_iterator > | get_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_iterator > | get_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 cClassInfo & | get_class_info_reference () |
Get reference to static class info constant of the classT type. More... | |
template<typename classT > | |
constexpr const cClassInfo & | get_class_info_reference (const classT *) |
Convenience function usable with a pointer to an object of type classT. More... | |
template<typename classT > | |
constexpr const cClassInfo & | get_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::IClassInfo > | get_class_info () |
Get the class info of the Class type. More... | |
template<typename classT > | |
object_ptr< const adtf::ucom::ant::IClassInfo > | get_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::IClassInfo > | get_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_iterator > | get_class_versions () |
Get the class versions (corresponding to the CID) of the Class type. More... | |
template<typename classT > | |
constexpr iterator_adapter< const tNamedVersion, pointer_iterator > | get_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_iterator > | get_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 > | |
IOutputStream & | operator<< (IOutputStream &oWriteStream, const T &oValue) |
template<typename T > | |
const IInputStream & | operator>> (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... | |
Namespace for all functionality provided since v3.0.
using iobject_list = iobject_enum < T > |
alias type for iobject_enum.
T | interface object type to represent (this value type must derived from IObject) |
Definition at line 387 of file object_list.h.
using iobject_vector = iobject_enum < T > |
alias type for iobject_enum.
T | interface object type to represent (this value type must derived from IObject) |
Definition at line 394 of file object_list.h.
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.
T | object type to store (this value type must derived from IObject) |
INTERFACE_TYPE | interface type the implementation represents. (iobject_list<INTERFACE_TYPE>) |
Definition at line 402 of file object_list.h.
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.
T | object type to store (this value type must derived from IObject) |
INTERFACE_TYPE | interface type the implementation represents. (iobject_vector<INTERFACE_TYPE>) |
Definition at line 410 of file object_list.h.
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.
|
constexpr |
Used for parameter list in ADTF_CLASS_DEPENDENCIES()
to define version information.
List | of integral type used as integral types for adtf_util::tVersion |
[in] | i_strProduct | Name of the product the version is given for |
[in] | args | List of integral constants used as parameters for adtf_util::tVersion |
tNamedVersion
generated with i_strProduct
and args
Definition at line 61 of file class_versions.h.
|
constexpr |
Get the class dependencies (corresponding to the CID) of the Class
type.
classT | Class 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. |
Definition at line 96 of file class_dependencies.h.
|
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.
|
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.
|
constexpr |
Get the class id (CID) of the Class
type.
classT | Class 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 |
ADTF_CLASS_ID()
Definition at line 110 of file class_id.h.
|
constexpr |
Convenience function usable with a reference to an object of type classT.
Get the class id (CID) of the Class
type.
classT | Class 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 |
ADTF_CLASS_ID()
Definition at line 125 of file class_id.h.
|
constexpr |
Convenience function usable with a pointer to an object of type classT.
Get the class id (CID) of the Class
type.
classT | Class 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 |
ADTF_CLASS_ID()
Definition at line 132 of file class_id.h.
object_ptr<const adtf::ucom::ant::IClassInfo> adtf::ucom::ant::get_class_info | ( | ) |
Get the class info of the Class
type.
classT | Class 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 |
Definition at line 109 of file class_info.h.
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.
classT | Class 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 |
Definition at line 120 of file class_info.h.
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.
classT | Class 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 |
Definition at line 130 of file class_info.h.
|
constexpr |
Get reference to static class info constant of the classT
type.
classT | Class 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 |
classT
Definition at line 69 of file class_info.h.
|
constexpr |
Convenience function usable with a reference to an object of type classT.
Get reference to static class info constant of the classT
type.
classT | Class 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 |
classT
Definition at line 95 of file class_info.h.
|
constexpr |
Convenience function usable with a pointer to an object of type classT.
Get reference to static class info constant of the classT
type.
classT | Class 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 |
classT
Definition at line 85 of file class_info.h.
|
constexpr |
Get the class label (corresponding to the CID) of the Class
type (a readable name !)
classT | Class 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 |
ADTF_CLASS_ID_NAME()
Definition at line 143 of file class_id.h.
|
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 !)
classT | Class 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 |
ADTF_CLASS_ID_NAME()
Definition at line 159 of file class_id.h.
|
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 !)
classT | Class 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 |
ADTF_CLASS_ID_NAME()
Definition at line 166 of file class_id.h.
|
constexpr |
Get the class versions (corresponding to the CID) of the Class
type.
classT | Class 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. |
Definition at line 78 of file class_versions.h.
|
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.
|
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.
const char* adtf::ucom::ant::get_iid | ( | ) |
Get the interface id (IID) of the Interface
type.
Interface | Interface 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 . |
Definition at line 429 of file adtf_iid.h.
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.
Interface | Interface 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 . |
Definition at line 445 of file adtf_iid.h.
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.
Interface | Interface 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 . |
Definition at line 454 of file adtf_iid.h.
tResult adtf::ucom::ant::get_plugin | ( | iobject_ptr< IPlugin > & | pPlugin | ) |
Returns a reference to the plugin instance of the current module.
[out] | pPlugin | The plugin. |
|
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.
Implementation | Type of the shared resource which is created using the default allocator new . |
Args | Parameter pack forwarded to the constructor of Implementation during instantiation. |
[in] | args | Parameters forwared to the constructor of Implementation during instantiation. |
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. On | success, the instance contains a newly allocated, reference counted object of type Implementation |
On | failure, the instance contains an object of nullptr_t |
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().
|
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.
Implementation | Type of the shared resource which is created using the default allocator new . |
Args | Parameter pack forwarded to the constructor of Implementation during instantiation. |
[in] | args | Parameters forwarded to the constructor of Implementation during instantiation. |
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. On | success, the instance contains a newly allocated, reference counted object of type Implementation |
On | failure, the instance contains an object of nullptr_t |
Definition at line 180 of file object_ptr_utilities.h.
References enable_object_ptr_from_this< T >::Assign().
|
inlinenoexcept |
Inequality operator for forward_iterator
.
T | Value type of the container the iterator operates on |
[in] | oLHS | Left hand side iterator object |
[in] | oRHS | Right hand side iterator object |
oLHS
is not equal pointer to value of oRHS
, false otherwise Definition at line 178 of file iterator_intf.h.
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.
T | Type of the pointer to the shared resource |
U | Type of the pointer to the shared resource (implicitly convertible to T) |
[in] | i_oLHS | Left hand side shared object pointer containing the shared resource. |
[in] | i_oRHS | Right hand side shared object pointer containing the shared resource. |
Definition at line 189 of file object_ptr_intf.h.
References operator==().
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.
T | Type of the pointer to the shared resource |
U | Type of the pointer to the shared resource (implicitly convertible to T) |
[in] | i_oLHS | Shared object pointer containing the shared resource. |
[in] | i_pRHS | Ordinary pointer to resource. |
Definition at line 147 of file object_ptr_intf.h.
References operator==().
bool adtf::ucom::ant::operator!= | ( | const iobject_ptr< T > & | i_oLHS, |
std::nullptr_t | |||
) |
Compare iobject_ptr<T> with nullptr type for inequality.
T | Type of the pointer to the shared resource |
[in] | i_oLHS | Shared object pointer containing the shared resource. |
Definition at line 282 of file object_ptr_intf.h.
References iobject_ptr_base< T >::Get().
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.
T | Type of the pointer to the shared resource |
U | Type of the pointer to the shared resource (implicitly convertible to T) |
[in] | i_pLHS | Ordinary pointer to resource. |
[in] | i_oRHS | Shared object pointer containing the shared resource. |
Definition at line 161 of file object_ptr_intf.h.
References operator==().
bool adtf::ucom::ant::operator!= | ( | std::nullptr_t | , |
const iobject_ptr< T > & | i_oRHS | ||
) |
Compare iobject_ptr<T> with nullptr type for inequality.
T | Type of the pointer to the shared resource |
[in] | i_oRHS | Shared object pointer containing the shared resource. |
Definition at line 294 of file object_ptr_intf.h.
|
inlinenoexcept |
Less-than operator for forward_iterator
.
T | Value type of the container the iterator operates on |
[in] | oLHS | Left hand side iterator object |
[in] | oRHS | Right hand side iterator object |
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>=().
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.
T | Type of the pointer to the shared resource |
U | Type of the pointer to the shared resource (implicitly convertible to T) |
[in] | i_oLHS | Left hand side shared object pointer containing the shared resource. |
[in] | i_oRHS | Right hand side shared object pointer containing the shared resource. |
Definition at line 203 of file object_ptr_intf.h.
References iobject_ptr_base< T >::Get().
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.
T | Type of the pointer to the shared resource |
[in] | i_oLHS | Shared object pointer containing the shared resource. |
Definition at line 306 of file object_ptr_intf.h.
References iobject_ptr_base< T >::Get().
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.
T | Type of the pointer to the shared resource |
[in] | i_oRHS | Shared object pointer containing the shared resource. |
Definition at line 318 of file object_ptr_intf.h.
References iobject_ptr_base< T >::Get().
|
inlinenoexcept |
Less-than-or-equal operator for forward_iterator
.
T | Value type of the container the iterator operates on |
[in] | oLHS | Left hand side iterator object |
[in] | oRHS | Right hand side iterator object |
oLHS
is less than or equal pointer to value of oRHS
, false otherwise Definition at line 136 of file iterator_intf.h.
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.
T | Type of the pointer to the shared resource |
U | Type of the pointer to the shared resource (implicitly convertible to T) |
[in] | i_oLHS | Left hand side shared object pointer containing the shared resource. |
[in] | i_oRHS | Right hand side shared object pointer containing the shared resource. |
Definition at line 232 of file object_ptr_intf.h.
References operator>().
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.
T | Type of the pointer to the shared resource |
[in] | i_oLHS | Shared object pointer containing the shared resource. |
Definition at line 330 of file object_ptr_intf.h.
References operator<().
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.
T | Type of the pointer to the shared resource |
[in] | i_oRHS | Shared object pointer containing the shared resource. |
Definition at line 342 of file object_ptr_intf.h.
References operator<().
|
inlinenoexcept |
Equality operator for forward_iterator
.
T | Value type of the container the iterator operates on |
[in] | oLHS | Left hand side iterator object |
[in] | oRHS | Right hand side iterator object |
oLHS
is equal pointer to value of oRHS
, false otherwise Definition at line 164 of file iterator_intf.h.
Referenced by operator!=(), and operator==().
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.
T | Type of the pointer to the shared resource |
U | Type of the pointer to the shared resource (implicitly convertible to T) |
[in] | i_oLHS | Left hand side shared object pointer containing the shared resource. |
[in] | i_oRHS | Right hand side shared object pointer containing the shared resource. |
Definition at line 175 of file object_ptr_intf.h.
References iobject_ptr_base< T >::Get().
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.
T | Type of the pointer to the shared resource |
U | Type of the pointer to the shared resource (implicitly convertible to T) |
[in] | i_oLHS | Shared object pointer containing the shared resource. |
[in] | i_pRHS | Ordinary pointer to resource. |
Definition at line 119 of file object_ptr_intf.h.
References iobject_ptr_base< T >::Get().
bool adtf::ucom::ant::operator== | ( | const iobject_ptr< T > & | i_oLHS, |
std::nullptr_t | |||
) |
Compare iobject_ptr<T> with nullptr type for equality.
T | Type of the pointer to the shared resource |
[in] | i_oLHS | Shared object pointer containing the shared resource. |
Definition at line 258 of file object_ptr_intf.h.
References iobject_ptr_base< T >::Get().
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.
T | Type of the pointer to the shared resource |
U | Type of the pointer to the shared resource (implicitly convertible to T) |
[in] | i_pLHS | Ordinary pointer to resource. |
[in] | i_oRHS | Shared object pointer containing the shared resource. |
Definition at line 133 of file object_ptr_intf.h.
References operator==().
bool adtf::ucom::ant::operator== | ( | std::nullptr_t | , |
const iobject_ptr< T > & | i_oRHS | ||
) |
Compare iobject_ptr<T> with nullptr type for equality.
T | Type of the pointer to the shared resource |
[in] | i_oRHS | Shared object pointer containing the shared resource. |
Definition at line 270 of file object_ptr_intf.h.
|
inlinenoexcept |
Greater-than operator for forward_iterator
.
T | Value type of the container the iterator operates on |
[in] | oLHS | Left hand side iterator object |
[in] | oRHS | Right hand side iterator object |
oLHS
is greater than pointer to value of oRHS
, false otherwise Definition at line 122 of file iterator_intf.h.
Referenced by operator<=().
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.
T | Type of the pointer to the shared resource |
U | Type of the pointer to the shared resource (implicitly convertible to T) |
[in] | i_oLHS | Left hand side shared object pointer containing the shared resource. |
[in] | i_oRHS | Right hand side shared object pointer containing the shared resource. |
Definition at line 218 of file object_ptr_intf.h.
References operator<().
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.
T | Type of the pointer to the shared resource |
[in] | i_oLHS | Shared object pointer containing the shared resource. |
Definition at line 354 of file object_ptr_intf.h.
References operator<().
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.
T | Type of the pointer to the shared resource |
[in] | i_oRHS | Shared object pointer containing the shared resource. |
Definition at line 366 of file object_ptr_intf.h.
References operator<().
|
inlinenoexcept |
Greater-than-or-equal operator for forward_iterator
.
T | Value type of the container the iterator operates on |
[in] | oLHS | Left hand side iterator object |
[in] | oRHS | Right hand side iterator object |
oLHS
is greater than or equal pointer to value of oRHS
, false otherwise Definition at line 150 of file iterator_intf.h.
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.
T | Type of the pointer to the shared resource |
U | Type of the pointer to the shared resource (implicitly convertible to T) |
[in] | i_oLHS | Left hand side shared object pointer containing the shared resource. |
[in] | i_oRHS | Right hand side shared object pointer containing the shared resource. |
Definition at line 246 of file object_ptr_intf.h.
References operator<().
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.
T | Type of the pointer to the shared resource |
[in] | i_oLHS | Shared object pointer containing the shared resource. |
Definition at line 378 of file object_ptr_intf.h.
References operator<().
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.
T | Type of the pointer to the shared resource |
[in] | i_oRHS | Shared object pointer containing the shared resource. |
Definition at line 390 of file object_ptr_intf.h.
References operator<().
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.
T | Type of the shared resource of the object_ptr to reset |
TSrc | Src object_ptr<> type to cast from |
[out] | o_oDest | Gets reset with the object of const T |
[in] | i_oSrc | Providing the object to reset o_oDest with. |
o_oDest.Reset(...) | else |
Definition at line 247 of file object_ptr_utilities.h.
References iobject_ptr_base< T >::Reset().
tResult adtf::ucom::ant::reset_object_ptr | ( | TDest< const T > & | o_oDest, |
const TSrc< U > & | i_oSrc | ||
) |
Reset an iobject_ptr with const T
.
T | Type of the shared resource of the object_ptr to reset |
U | Type of the shared resource managed by the object_ptr to convert from. Must be convertible to type T using ucom_cast() |
TDest | Destination object_ptr<> type to cast to |
TSrc | Src object_ptr<> type to cast from |
[out] | o_oDest | Gets reset with the object of const T |
[in] | i_oSrc | Providing the object to reset o_oDest with. |
ERR_NOERROR | Everything went fine |
ERR_NO_INTERFACE | Type 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.
InterfacePointerType adtf::ucom::ant::ucom_cast | ( | ObjectPointerType | i_pObject | ) |
Used to cast arbitrary interface types within the UCOM.
InterfacePointerType | Pointer to (optionally cv-qualified) complete interface type |
[in] | i_pObject | Pointer to object of type IObject which shall expose the queried interface. |
nullptr
otherwise. i_pObject
is a const object of type IObject, this needs to be taken into consideration when giving the template parameter type. Definition at line 126 of file ucom_cast.h.
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.
T | Type of the shared resource of the object_ptr to create |
U | Type of the shared resource managed by the object_ptr to convert from. Must be convertible to type T using ucom_cast() |
[in] | i_oOther | The source to create the new object_ptr from. |
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().