|
#define | JPH_DECLARE_RTTI_NON_VIRTUAL(linkage, class_name) |
|
#define | JPH_IMPLEMENT_RTTI_NON_VIRTUAL(class_name) |
|
#define | JPH_DECLARE_RTTI_OUTSIDE_CLASS(linkage, class_name) |
|
#define | JPH_IMPLEMENT_RTTI_OUTSIDE_CLASS(class_name) |
|
#define | JPH_DECLARE_RTTI_HELPER(linkage, class_name, modifier) |
|
#define | JPH_DECLARE_RTTI_VIRTUAL(linkage, class_name) JPH_DECLARE_RTTI_HELPER(linkage, class_name, override) |
|
#define | JPH_IMPLEMENT_RTTI_VIRTUAL(class_name) |
|
#define | JPH_DECLARE_RTTI_VIRTUAL_BASE(linkage, class_name) JPH_DECLARE_RTTI_HELPER(linkage, class_name, ) |
|
#define | JPH_IMPLEMENT_RTTI_VIRTUAL_BASE(class_name) JPH_IMPLEMENT_RTTI_VIRTUAL(class_name) |
|
#define | JPH_DECLARE_RTTI_ABSTRACT(linkage, class_name) JPH_DECLARE_RTTI_HELPER(linkage, class_name, override) |
|
#define | JPH_IMPLEMENT_RTTI_ABSTRACT(class_name) |
|
#define | JPH_DECLARE_RTTI_ABSTRACT_BASE(linkage, class_name) JPH_DECLARE_RTTI_HELPER(linkage, class_name, ) |
|
#define | JPH_IMPLEMENT_RTTI_ABSTRACT_BASE(class_name) JPH_IMPLEMENT_RTTI_ABSTRACT(class_name) |
|
#define | JPH_DECLARE_RTTI_FOR_FACTORY(linkage, class_name) linkage RTTI * GetRTTIOfType(class class_name *); |
|
#define | JPH_DECLARE_RTTI_WITH_NAMESPACE_FOR_FACTORY(linkage, name_space, class_name) |
|
#define | JPH_RTTI(class_name) GetRTTIOfType(static_cast<class_name *>(nullptr)) |
|
#define | JPH_RENAME_CLASS(class_name, new_name) inRTTI.SetName(#new_name); |
|
#define | JPH_BASE_CLASS_OFFSET(inClass, inBaseClass) ((int(uint64((inBaseClass *)((inClass *)0x10000))))-0x10000) |
| Define very dirty macro to get the offset of a baseclass into a class.
|
|
#define | JPH_ADD_BASE_CLASS(class_name, base_class_name) inRTTI.AddBaseClass(JPH_RTTI(base_class_name), JPH_BASE_CLASS_OFFSET(class_name, base_class_name)); |
|
|
template<class Type > |
bool | IsType (const Type *inObject, const RTTI *inRTTI) |
| Check if inObject is of DstType.
|
|
template<class Type > |
bool | IsType (const RefConst< Type > &inObject, const RTTI *inRTTI) |
|
template<class Type > |
bool | IsType (const Ref< Type > &inObject, const RTTI *inRTTI) |
|
template<class Type > |
bool | IsKindOf (const Type *inObject, const RTTI *inRTTI) |
| Check if inObject is or is derived from DstType.
|
|
template<class Type > |
bool | IsKindOf (const RefConst< Type > &inObject, const RTTI *inRTTI) |
|
template<class Type > |
bool | IsKindOf (const Ref< Type > &inObject, const RTTI *inRTTI) |
|
template<class DstType , class SrcType , std::enable_if_t< std::is_base_of_v< DstType, SrcType >||std::is_base_of_v< SrcType, DstType >, bool > = true> |
const DstType * | StaticCast (const SrcType *inObject) |
| Cast inObject to DstType, asserts on failure.
|
|
template<class DstType , class SrcType , std::enable_if_t< std::is_base_of_v< DstType, SrcType >||std::is_base_of_v< SrcType, DstType >, bool > = true> |
DstType * | StaticCast (SrcType *inObject) |
|
template<class DstType , class SrcType , std::enable_if_t< std::is_base_of_v< DstType, SrcType >||std::is_base_of_v< SrcType, DstType >, bool > = true> |
const DstType * | StaticCast (const RefConst< SrcType > &inObject) |
|
template<class DstType , class SrcType , std::enable_if_t< std::is_base_of_v< DstType, SrcType >||std::is_base_of_v< SrcType, DstType >, bool > = true> |
DstType * | StaticCast (const Ref< SrcType > &inObject) |
|
template<class DstType , class SrcType > |
const DstType * | DynamicCast (const SrcType *inObject) |
| Cast inObject to DstType, returns nullptr on failure.
|
|
template<class DstType , class SrcType > |
DstType * | DynamicCast (SrcType *inObject) |
|
template<class DstType , class SrcType > |
const DstType * | DynamicCast (const RefConst< SrcType > &inObject) |
|
template<class DstType , class SrcType > |
DstType * | DynamicCast (const Ref< SrcType > &inObject) |
|
template<class DstType , class SrcType , std::enable_if_t< std::is_base_of_v< DstType, SrcType >||std::is_base_of_v< SrcType, DstType >, bool > = true>
const DstType * StaticCast |
( |
const SrcType * |
inObject | ) |
|
|
inline |
Cast inObject to DstType, asserts on failure.