ICF 3.0.5.47
Technical documentation of ICF Libraries
istd::CClassInfo Class Reference

Represents platform independent type info and provide set of static class manipulation functions. More...

#include <CClassInfo.h>

Inherits istd::IPolymorphic.

Collaboration diagram for istd::CClassInfo:

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
 
CClassInfooperator= (const std::type_info &info)
 
CClassInfooperator= (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.
 

Detailed Description

Represents platform independent type info and provide set of static class manipulation functions.

Definition at line 26 of file CClassInfo.h.

Constructor & Destructor Documentation

◆ CClassInfo() [1/4]

istd::CClassInfo::CClassInfo ( )
inline

Definition at line 121 of file CClassInfo.h.

◆ CClassInfo() [2/4]

istd::CClassInfo::CClassInfo ( const std::type_info & info)
inlineexplicit

Definition at line 126 of file CClassInfo.h.

◆ CClassInfo() [3/4]

istd::CClassInfo::CClassInfo ( const QByteArray & name)
inlineexplicit

Definition at line 132 of file CClassInfo.h.

◆ CClassInfo() [4/4]

istd::CClassInfo::CClassInfo ( const istd::IPolymorphic & object)
inlineexplicit

Definition at line 138 of file CClassInfo.h.

Member Function Documentation

◆ ConstCast()

bool istd::CClassInfo::ConstCast ( bool enableConst = true)

Enable or disable const attribute.

◆ GetConstCasted()

CClassInfo istd::CClassInfo::GetConstCasted ( bool enableConst = true) const

Get class with enabled or disabled const attribute.

Referenced by icomp::TSubelementStaticInfo< ComponentType >::GetComponentInterface().

◆ GetInfo()

◆ GetName() [1/4]

template<class C >
QByteArray istd::CClassInfo::GetName ( )
static

Get class name defined as template parameter.

Definition at line 221 of file CClassInfo.h.

References GetUndecoratedName().

◆ GetName() [2/4]

◆ GetName() [3/4]

static QByteArray istd::CClassInfo::GetName ( const istd::IPolymorphic & object)
static

Get class name of polymorphic object.

◆ GetName() [4/4]

static QByteArray istd::CClassInfo::GetName ( const std::type_info & info)
static

Get class name from RTTI.

◆ GetTemplateParam()

CClassInfo istd::CClassInfo::GetTemplateParam ( int paramIndex = 0) const

Get class info of some template parameter if this class is template.

◆ GetTemplateParamsCount()

int istd::CClassInfo::GetTemplateParamsCount ( ) const

Get number of template parameters if this class is template class.

Returns
number of parameters of negative value, if this class is not a template.

◆ GetUndecoratedName()

static QByteArray istd::CClassInfo::GetUndecoratedName ( const QByteArray & rawName)
static

Get undecorated class name from raw name.

Referenced by GetName().

◆ IsConst()

bool istd::CClassInfo::IsConst ( ) const

Check if this class information represents const class.

Referenced by icomp::TSubelementStaticInfo< ComponentType >::GetComponentInterface().

◆ IsTemplateClass()

bool istd::CClassInfo::IsTemplateClass ( ) const

Check if this class information represents template class.

◆ IsType()

template<class C >
bool istd::CClassInfo::IsType ( ) const
inline

Definition at line 163 of file CClassInfo.h.

References GetName().

◆ IsValid()

bool istd::CClassInfo::IsValid ( ) const
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().

◆ IsVoid()

bool istd::CClassInfo::IsVoid ( ) const
inline

◆ operator!=()

bool istd::CClassInfo::operator!= ( const CClassInfo & info) const
inline

Definition at line 191 of file CClassInfo.h.

◆ operator<()

bool istd::CClassInfo::operator< ( const CClassInfo & info) const
inline

Definition at line 197 of file CClassInfo.h.

◆ operator=() [1/2]

CClassInfo & istd::CClassInfo::operator= ( const CClassInfo & info)
inline

Definition at line 177 of file CClassInfo.h.

◆ operator=() [2/2]

CClassInfo & istd::CClassInfo::operator= ( const std::type_info & info)
inline

Definition at line 169 of file CClassInfo.h.

References GetName().

◆ operator==()

bool istd::CClassInfo::operator== ( const CClassInfo & info) const
inline

Definition at line 185 of file CClassInfo.h.

◆ operator>()

bool istd::CClassInfo::operator> ( const CClassInfo & info) const
inline

Definition at line 203 of file CClassInfo.h.


The documentation for this class was generated from the following file:

© Witold Gantzke and Kirill Lepskiy