![]() |
ICF 3.0.5.47
Technical documentation of ICF Libraries
|
Represents platform independent type info and provide set of static class manipulation functions. More...
#include <CClassInfo.h>
Inherits istd::IPolymorphic.
Public Member Functions | |
CClassInfo () | |
CClassInfo (const std::type_info &info) | |
CClassInfo (const QByteArray &name) | |
CClassInfo (const istd::IPolymorphic &object) | |
bool | IsValid () const |
Check if this class info object is valid. | |
const QByteArray & | GetName () const |
Get undecorated and platform undependent class name. | |
bool | IsVoid () const |
Check if this class information represents void type. | |
bool | IsConst () const |
Check if this class information represents const class. | |
CClassInfo | GetConstCasted (bool enableConst=true) const |
Get class with enabled or disabled const attribute. | |
bool | ConstCast (bool enableConst=true) |
Enable or disable const attribute. | |
bool | IsTemplateClass () const |
Check if this class information represents template class. | |
int | GetTemplateParamsCount () const |
Get number of template parameters if this class is template class. | |
CClassInfo | GetTemplateParam (int paramIndex=0) const |
Get class info of some template parameter if this class is template. | |
template<class C > | |
bool | IsType () const |
CClassInfo & | operator= (const std::type_info &info) |
CClassInfo & | operator= (const CClassInfo &info) |
bool | operator== (const CClassInfo &info) const |
bool | operator!= (const CClassInfo &info) const |
bool | operator< (const CClassInfo &info) const |
bool | operator> (const CClassInfo &info) const |
Static Public Member Functions | |
template<class C > | |
static CClassInfo | GetInfo () |
Get class name defined as template parameter. | |
template<class C > | |
static QByteArray | GetName () |
Get class name defined as template parameter. | |
static QByteArray | GetName (const std::type_info &info) |
Get class name from RTTI. | |
static QByteArray | GetName (const istd::IPolymorphic &object) |
Get class name of polymorphic object. | |
static QByteArray | GetUndecoratedName (const QByteArray &rawName) |
Get undecorated class name from raw name. | |
Represents platform independent type info and provide set of static class manipulation functions.
Definition at line 26 of file CClassInfo.h.
|
inline |
Definition at line 121 of file CClassInfo.h.
|
inlineexplicit |
Definition at line 126 of file CClassInfo.h.
|
inlineexplicit |
Definition at line 132 of file CClassInfo.h.
|
inlineexplicit |
Definition at line 138 of file CClassInfo.h.
bool istd::CClassInfo::ConstCast | ( | bool | enableConst = true | ) |
Enable or disable const attribute.
CClassInfo istd::CClassInfo::GetConstCasted | ( | bool | enableConst = true | ) | const |
Get class with enabled or disabled const attribute.
Referenced by icomp::TSubelementStaticInfo< ComponentType >::GetComponentInterface().
|
static |
Get class name defined as template parameter.
Definition at line 212 of file CClassInfo.h.
Referenced by icomp::CInterfaceManipBase::ExtractInterface(), IsVoid(), icomp::SubElementInterfaceRegistrator< InterfaceType, ComponentType >::SubElementInterfaceRegistrator(), and icomp::TInterfaceRegistrator< Interface >::TInterfaceRegistrator().
|
static |
Get class name defined as template parameter.
Definition at line 221 of file CClassInfo.h.
References GetUndecoratedName().
|
inline |
Get undecorated and platform undependent class name.
This name has format "namespace::class_name", for example "iser::ISerializable".
Definition at line 150 of file CClassInfo.h.
Referenced by icomp::TSubelementStaticInfo< ComponentType >::GetComponentInterface(), icomp::TSimComponentWrap< Base >::GetContextId(), iattr::TAttribute< Value >::GetTypeName(), iattr::TMultiAttribute< Value >::GetTypeName(), ilog::TExtMessage< Element >::GetTypeName(), iprm::TParamsPtr< ParameterInterace >::Init(), icomp::CSimComponentContextBase::InsertMultiAttr(), IsType(), operator=(), ilog::CMessageContainer::RegisterMessageType(), icomp::SubElementInterfaceRegistrator< InterfaceType, ComponentType >::SubElementInterfaceRegistrator(), icomp::TInterfaceRegistrator< Interface >::TInterfaceRegistrator(), and icomp::TSimComponentsFactory< Base >::TSimComponentsFactory().
|
static |
Get class name of polymorphic object.
|
static |
Get class name from RTTI.
CClassInfo istd::CClassInfo::GetTemplateParam | ( | int | paramIndex = 0 | ) | const |
Get class info of some template parameter if this class is template.
int istd::CClassInfo::GetTemplateParamsCount | ( | ) | const |
Get number of template parameters if this class is template class.
|
static |
Get undecorated class name from raw name.
Referenced by GetName().
bool istd::CClassInfo::IsConst | ( | ) | const |
Check if this class information represents const class.
Referenced by icomp::TSubelementStaticInfo< ComponentType >::GetComponentInterface().
bool istd::CClassInfo::IsTemplateClass | ( | ) | const |
Check if this class information represents template class.
|
inline |
Definition at line 163 of file CClassInfo.h.
References GetName().
|
inline |
Check if this class info object is valid.
It is valid if stored RTTI type info is set.
Definition at line 144 of file CClassInfo.h.
Referenced by icomp::CInterfaceManipBase::ExtractInterface(), icomp::TSubelementStaticInfo< ComponentType >::GetComponentInterface(), and icomp::TAttributeStaticInfo< Attribute >::TAttributeStaticInfo().
|
inline |
Check if this class information represents void type.
Definition at line 156 of file CClassInfo.h.
References GetInfo().
Referenced by icomp::TSubelementStaticInfo< ComponentType >::GetComponentInterface(), icomp::TAttributeStaticInfo< Attribute >::TAttributeStaticInfo(), and icomp::TInterfaceRegistrator< Interface >::TInterfaceRegistrator().
|
inline |
Definition at line 191 of file CClassInfo.h.
|
inline |
Definition at line 197 of file CClassInfo.h.
|
inline |
Definition at line 177 of file CClassInfo.h.
|
inline |
Definition at line 169 of file CClassInfo.h.
References GetName().
|
inline |
Definition at line 185 of file CClassInfo.h.
|
inline |
Definition at line 203 of file CClassInfo.h.
© Witold Gantzke and Kirill Lepskiy