Go to the documentation of this file. 30 #define RTTI_BASE_CLASS_TREE(...) \ 31 enum RTTI{ __VA_ARGS__ }; \ 32 static RTTI _rttiTree; 34 #define RTTI_BASE_CLASS_PRIVATE \ 35 const RTTI _classType; 37 #define RTTI_BASE_CLASS_PROTECTED_CONSTRUCTOR(BASE_CLASS) \ 38 BASE_CLASS(RTTI classType) : _classType(classType) { \ 42 #define RTTI_BASE_CLASS_PUBLIC \ 43 const RTTI getClassType() const { return _classType; } 46 #define RTTI_PROTECTED_CONSTRUCTOR(PARENT_CLASS, THIS_CLASS) \ 47 THIS_CLASS(RTTI classType) : PARENT_CLASS(classType) { \ 50 #define RTTI_PUBLIC_DEFAULT_CONSTRUCTOR(THIS_CLASS, RTTI_TYPE) \ 51 THIS_CLASS() : THIS_CLASS(_FT_##RTTI_TYPE) { \ 62 #define RTTI_PUBLIC_METHODS(BASE_CLASS, RTTI_TYPE) \ 63 static bool isTypeOf(const BASE_CLASS *clazz) { \ 64 const RTTI rttiType = clazz->getClassType(); \ 65 return (rttiType >= _FT_##RTTI_TYPE && rttiType <= _LT_##RTTI_TYPE); \