13#include <QtCore/QByteArray>
30 explicit CClassInfo(
const std::type_info& info);
32 explicit CClassInfo(
const istd::IPolymorphic&
object);
43 const QByteArray&
GetName()
const;
103 static QByteArray
GetName(
const std::type_info& info);
107 static QByteArray
GetName(
const istd::IPolymorphic&
object);
127: m_name(GetName(info))
133: m_name(GetUndecoratedName(name))
139: m_name(GetUndecoratedName(typeid(object).name()))
146 return !m_name.isEmpty();
165 return m_name ==
GetName(
typeid(C));
179 m_name = info.m_name;
187 return m_name == info.m_name;
193 return m_name != info.m_name;
199 return m_name < info.m_name;
205 return m_name > info.m_name;
Represents platform independent type info and provide set of static class manipulation functions.
bool IsConst() const
Check if this class information represents const class.
CClassInfo GetTemplateParam(int paramIndex=0) const
Get class info of some template parameter if this class is template.
bool operator!=(const CClassInfo &info) const
CClassInfo & operator=(const std::type_info &info)
static CClassInfo GetInfo()
Get class name defined as template parameter.
bool operator<(const CClassInfo &info) const
bool operator>(const CClassInfo &info) const
static QByteArray GetName(const std::type_info &info)
Get class name from RTTI.
const QByteArray & GetName() const
Get undecorated and platform undependent class name.
bool IsValid() const
Check if this class info object is valid.
bool operator==(const CClassInfo &info) const
bool IsVoid() const
Check if this class information represents void type.
int GetTemplateParamsCount() const
Get number of template parameters if this class is template class.
bool ConstCast(bool enableConst=true)
Enable or disable const attribute.
CClassInfo GetConstCasted(bool enableConst=true) const
Get class with enabled or disabled const attribute.
bool IsTemplateClass() const
Check if this class information represents template class.
static QByteArray GetUndecoratedName(const QByteArray &rawName)
Get undecorated class name from raw name.
static QByteArray GetName(const istd::IPolymorphic &object)
Get class name of polymorphic object.