21 #ifndef ELM_RTTI_TYPE_OF_H_
22 #define ELM_RTTI_TYPE_OF_H_
25 #include <elm/string/CString.h>
26 #include <elm/string/String.h>
27 #include <elm/types.h>
31 namespace elm {
namespace rtti {
49 {
static inline const Type&
_(
void) {
return T::__type; } };
67 template <
class T>
struct _type<T *>
69 template <
class T>
struct _type<const T &>
73 {
static inline const Type&
_(
void) {
return *
static_cast<const Type *
>(
nullptr); } };
virtual ~Object(void)
Definition: rtti.cpp:178
virtual const Type & getType(void) const
Definition: rtti.cpp:187
static const Type & __type
Definition: type_of.h:37
const PointerType & pointer(void) const
Definition: rtti.cpp:338
const Type & cstring_type
Definition: type_of.h:45
const Type & int64_type
Definition: type_of.h:43
const Type & void_type
Definition: type_of.h:45
const Type & uint8_type
Definition: type_of.h:43
const rtti::Type & type_of(void)
Definition: type_of.h:77
const Type & uint32_type
Definition: type_of.h:43
const Type & double_type
Definition: type_of.h:44
const Type & bool_type
Definition: rtti.cpp:723
const Type & int8_type
Definition: rtti.cpp:620
const Type & string_type
Definition: type_of.h:45
const Type & int16_type
Definition: type_of.h:43
const Type & uint16_type
Definition: type_of.h:43
const Type & int32_type
Definition: type_of.h:43
const Type & long_double_type
Definition: type_of.h:44
const Type & float_type
Definition: rtti.cpp:688
const Type & uint64_type
Definition: type_of.h:43
const rtti::Type & template_of(void)
Definition: type_of.h:79
static const Type & _(void)
Definition: type_of.h:73
static const Type & _(void)
Definition: type_of.h:68
static const Type & _(void)
Definition: type_of.h:70
static const Type & _(void)
Definition: type_of.h:49