qxLib
Classes | Macros
rtti.h File Reference

RTTI system based on polymorphism. More...

#include <qx/containers/string/string_hash.h>
#include <qx/macros/common.h>
#include <qx/macros/copyable_movable.h>
#include <qx/meta/tuple_utils.h>
#include <qx/rtti/class_id.h>
#include <qx/rtti/rtti_naming_strategy.h>
#include <array>
#include <span>
#include <qx/rtti/rtti.inl>

Go to the source code of this file.

Classes

class  qx::rtti_pure_base
 
class  qx::rtti_root< naming_strategy_t >
 Polymorphic base for qx class identity and inheritance queries. More...
 

Macros

#define QX_RTTI_CLASS(thisClass, ...)
 Add dynamic identity and inheritance queries to a class in a qx RTTI hierarchy. More...
 

Detailed Description

RTTI system based on polymorphism.

Using qx::rtti_root and QX_RTTI_CLASS will let you to use RTTI advantages without enabling RTTI in compiler's flags common logic is taken from https://github.com/qualab/xakep-RTTI (Vladimir Kerimov, qualab)

Author
Khrapov
Date
24.08.2020

Definition in file rtti.h.

Macro Definition Documentation

◆ QX_RTTI_CLASS

#define QX_RTTI_CLASS (   thisClass,
  ... 
)

Add dynamic identity and inheritance queries to a class in a qx RTTI hierarchy.

Parameters
thisClass- type being registered, used to generate its identifier and name
...- immediate base type, either rtti_root or a type using QX_RTTI_CLASS

Definition at line 202 of file rtti.h.