ADTF
Loading...
Searching...
No Matches
class_id.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  adtf
 Namespace for all functionality provided by ADTF and its SDKs.
 
namespace  adtf::ucom
 Namespace for the ADTF uCOM SDK.
 
namespace  adtf::ucom::ant
 Namespace for all functionality of the ADTF UCOM SDK provided since v3.0.
 

Macros

#define ADTF_CLASS_ID_NAME(_class, _strcid, _strclabel)
 
#define ADTF_CLASS_INFO_IMPL(_class)
 
#define ADTF_CLASS_ID(_class, _strcid)
 ADTF_CLASS_INFO_IMPL.
 

Functions

template<typename classT>
constexpr const char * adtf::ucom::ant::get_class_id ()
 
template<typename classT>
constexpr const char * adtf::ucom::ant::get_class_id (const classT &)
 
template<typename classT>
constexpr const char * adtf::ucom::ant::get_class_id (const classT *)
 
template<typename classT>
constexpr const char * adtf::ucom::ant::get_class_label ()
 
template<typename classT>
constexpr const char * adtf::ucom::ant::get_class_label (const classT &)
 
template<typename classT>
constexpr const char * adtf::ucom::ant::get_class_label (const classT *)
 
template<typename classT>
constexpr const char * adtf::ucom::get_class_id ()
 Alias always bringing the latest version of ant::get_class_id into scope.
 
template<typename classT>
constexpr const char * adtf::ucom::get_class_label ()
 Alias always bringing the latest version of ant::get_class_label into scope.
 

Detailed Description

Copyright © Audi Electronics Venture GmbH. All rights reserved

Macro Definition Documentation

◆ ADTF_CLASS_ID

#define ADTF_CLASS_ID ( _class,
_strcid )
Value:
ADTF_CLASS_ID_NAME(_class, _strcid, nullptr)
#define ADTF_CLASS_ID_NAME(_class, _strcid, _strclabel)
Definition class_id.h:33

ADTF_CLASS_INFO_IMPL.

Common macro to enable correct treatment of class identifier by IClassInfo.

Parameters
[in]_className of the class (decltype of _class)
[in]_strcidClass IDentifier the containing type is identified with
Remarks
Put this into public scope of your class definiton. It will define your class identifier as well as the implementation of IClassInfo::GetCID.
See also
uCOM OID and CID

◆ ADTF_CLASS_ID_NAME

#define ADTF_CLASS_ID_NAME ( _class,
_strcid,
_strclabel )
Value:
typedef _class class_type; \
template<_class*> struct class_info : \
{ \
using adtf::ucom::ant::detail::class_info_detail<class_type>::CVersions; \
using adtf::ucom::ant::detail::class_info_detail<class_type>::CDependencies; \
static const char* CID() { return _strcid; } \
static const char* CLabel() { return _strclabel ? _strclabel : CID();} \
}
Definition class_info_detail.h:90

Common macro to enable correct treatment of class identifier AND Class Name by IClassInfo

Parameters
[in]_className of the class (decltype of _class)
[in]_strcidClass IDentifier the containing type is identified with
[in]_strclabelClass IDentifier. A readable name corresponding to given _strcid
Remarks
Put this into public scope of your class definiton. It will define your class identifier as well as the implementation of IClassInfo::GetCID. (see also IClassInfo::GetCLabel)
See also
page_ucom_object_id_and_class_id

◆ ADTF_CLASS_INFO_IMPL

#define ADTF_CLASS_INFO_IMPL ( _class)
Value:
const char* GetCID() const override \
{ \
} \
const char* GetCLabel() const override \
{ \
} \
adtf::ucom::ant::iterator_adapter<const adtf::ucom::ant::tDependencyDescription, \
adtf::ucom::ant::pointer_iterator> \
GetCDependencies() const override \
{ \
} \
adtf::ucom::ant::iterator_adapter<const adtf::ucom::ant::tNamedVersion, \
adtf::ucom::ant::pointer_iterator> \
GetCVersions() const override \
{ \
}
constexpr const char * get_class_id()
Alias always bringing the latest version of ant::get_class_id into scope.
Definition class_id.h:110
constexpr iterator_adapter< const tNamedVersion, pointer_iterator > get_class_versions()
Alias always bringing the latest version of ant::get_class_versions() into scope.
Definition class_versions.h:78
constexpr iterator_adapter< const tDependencyDescription, pointer_iterator > get_class_dependencies()
Alias always bringing the latest version of ant::get_class_dependencies into scope.
Definition class_dependencies.h:96
constexpr const char * get_class_label()
Alias always bringing the latest version of ant::get_class_label into scope.
Definition class_id.h:143

Common macro to implement correct treatment of adtf::ucom::ant::IClassInfo

Parameters
[in]_className of the class (decltype of _class)
Remarks
Put this into public scope of your class definiton. It will define your class identifier as well as the implementation of IClassInfo::GetCID. (see also IClassInfo::GetCLabel)
See also
page_ucom_object_id_and_class_id