7 #ifndef _ADTF_UCOM_ANT_CLASS_INFO_INCLUDES_HEADER_
8 #define _ADTF_UCOM_ANT_CLASS_INFO_INCLUDES_HEADER_
19 template<
typename>
struct class_info_detail;
44 const char* GetCID()
const override;
45 const char* GetCLabel()
const override;
55 const char* strClassLabel,
68 template<
typename classT>
72 typedef typename remove_const<typename remove_pointer<classT>::type>::type value_type;
73 static_assert(is_same<value_type, typename value_type::class_type>::value,
74 "get_class_info_reference<> failed. Check whether your interface correctly defined " \
77 return classT::template class_info<(classT*)
nullptr>::GetClass_Info();
84 template<
typename classT>
87 return get_class_info_reference<classT>();
94 template<
typename classT>
97 return get_class_info_reference<classT>();
108 template<
typename classT>
111 return make_object_ptr<const cClassInfo>(
112 static_cast<const IClassInfo&
>(get_class_info_reference<classT>()));
119 template<
typename classT>
122 return get_class_info<classT>();
129 template<
typename classT>
132 return get_class_info<classT>();
138 using ant::cClassInfo;
@ brief The IClassInfo interface provides a standardized way to access type information.
The Helper Storage Class for a IClassInfo.
virtual ~cClassInfo()=default
Default destructor.
Object pointer implementation used for reference counting on objects of type IObject.
Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an e...
#define A_UTILS_D(__pclassname_)
Helper macro for d-pattern definitions.
object_ptr< const adtf::ucom::ant::IClassInfo > get_class_info()
Get the class info of the Class type.
constexpr const cClassInfo & get_class_info_reference()
Get reference to static class info constant of the classT type.
Namespace for entire ADTF SDK.
Adapter for begin and end iterators - usable as return and parameter value in interfaces.
Dependency description usable for ADTF_CLASS_DEPENDENCIES()
Named version information consisting of the modules name and its adtf_util::tVersion.