ACF $AcfVersion:0$
Public Member Functions | Static Public Member Functions | List of all members
istd::CClassInfo Class Reference

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

#include <CClassInfo.h>

Inheritance diagram for istd::CClassInfo:
istd::IPolymorphic

Public Member Functions

 CClassInfo ()
 
 CClassInfo (const std::type_info &info)
 
 CClassInfo (const QByteArray &name)
 
 CClassInfo (const istd::IPolymorphic &object)
 
 CClassInfo (CClassInfo const &)=default
 
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
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 

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 22 of file CClassInfo.h.

Constructor & Destructor Documentation

◆ CClassInfo() [1/5]

istd::CClassInfo::CClassInfo ( )
inline

Definition at line 125 of file CClassInfo.h.

◆ CClassInfo() [2/5]

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

Definition at line 130 of file CClassInfo.h.

◆ CClassInfo() [3/5]

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

Definition at line 136 of file CClassInfo.h.

◆ CClassInfo() [4/5]

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

Definition at line 142 of file CClassInfo.h.

◆ CClassInfo() [5/5]

istd::CClassInfo::CClassInfo ( CClassInfo const &  )
default

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()

template<class C >
CClassInfo istd::CClassInfo::GetInfo ( )
static

Get class name defined as template parameter.

Definition at line 216 of file CClassInfo.h.

◆ GetName() [1/4]

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

Get class name defined as template parameter.

Definition at line 225 of file CClassInfo.h.

References GetUndecoratedName().

◆ GetName() [2/4]

const QByteArray & istd::CClassInfo::GetName ( ) const
inline

◆ 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 167 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 148 of file CClassInfo.h.

Referenced by 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 195 of file CClassInfo.h.

◆ operator<()

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

Definition at line 201 of file CClassInfo.h.

◆ operator=() [1/2]

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

Definition at line 181 of file CClassInfo.h.

◆ operator=() [2/2]

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

Definition at line 173 of file CClassInfo.h.

References GetName().

◆ operator==()

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

Definition at line 189 of file CClassInfo.h.

◆ operator>()

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

Definition at line 207 of file CClassInfo.h.


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