1#ifndef NW4HBM_UT_RUNTIME_TYPE_INFO_H
2#define NW4HBM_UT_RUNTIME_TYPE_INFO_H
9#define NW4HBM_UT_RUNTIME_TYPEINFO \
10 virtual const nw4hbm::ut::detail::RuntimeTypeInfo* GetRuntimeTypeInfo() const { \
13 static const nw4hbm::ut::detail::RuntimeTypeInfo typeInfo
15#define NW4HBM_UT_GET_RUNTIME_TYPEINFO(T) \
16 const nw4hbm::ut::detail::RuntimeTypeInfo T::typeInfo(NULL);
18#define NW4HBM_UT_GET_DERIVED_RUNTIME_TYPEINFO(T, D) \
19 const nw4hbm::ut::detail::RuntimeTypeInfo T::typeInfo(&D::typeInfo);
39 return &pPtr->typeInfo;
43 template <
typename TDerived,
typename TBase>
47 if (pPtr->GetRuntimeTypeInfo()->IsDerivedFrom(pDerivedTypeInfo)) {
48 return static_cast<TDerived
>(pPtr);
static u8 base[0x2A]
Definition WPADEncrypt.c:10
const RuntimeTypeInfo * GetTypeInfoFromPtr_(T *pPtr)
Definition RuntimeTypeInfo.h:38
TDerived DynamicCast(TBase *pPtr)
Definition RuntimeTypeInfo.h:44
Definition HBMAnmController.h:6
Definition RuntimeTypeInfo.h:22
RuntimeTypeInfo(const RuntimeTypeInfo *base)
Definition RuntimeTypeInfo.h:23
const RuntimeTypeInfo * mParentTypeInfo
Definition RuntimeTypeInfo.h:34
bool IsDerivedFrom(const RuntimeTypeInfo *base) const
Definition RuntimeTypeInfo.h:25