#include "Box.hpp"
#include "Class.hpp"
#include "Enum.hpp"
#include "MetaArgument.hpp"
#include "MetaContainer.hpp"
#include "MetaItem.hpp"
#include "MetaSignature.hpp"
#include "Type.define.hpp"
#include "Type.hpp"
#include "CeresEngine/Foundation/String.hpp"
#include <type_traits>
Go to the source code of this file.
◆ CE_META_CLASS_DEFINE
| #define CE_META_CLASS_DEFINE |
( |
|
... | ) |
|
Value:
static const TUserTypeInfo<__VA_ARGS__> typeInfo; \
return typeInfo; \
} \
CE_META_TYPE_AUTO_REGISTRATION(__VA_ARGS__); \
void ::CeresEngine::TUserTypeInfo<__VA_ARGS__>::define(TUserTypeInfo& define)
#define CE_META_CLASS_DEFINE_BASE(...)
Definition Class.define.hpp:79
static const TypeInfo & get()
◆ CE_META_CLASS_DEFINE_BASE
| #define CE_META_CLASS_DEFINE_BASE |
( |
|
... | ) |
|
Value: class ::CeresEngine::TUserTypeInfo<__VA_ARGS__> final : public TClass<__VA_ARGS__> { \
using ClassType = __VA_ARGS__; \
\
public: \
explicit TUserTypeInfo() { define(*this); } \
\
private: \
inline void define(TUserTypeInfo& define); \
}
◆ CE_META_CLASS_TEMPLATE_DEFINE
| #define CE_META_CLASS_TEMPLATE_DEFINE |
( |
|
TType, |
|
|
|
... |
|
) |
| |
Value:
template<__VA_ARGS__> struct ::CeresEngine::GetTypeInfo<TType> { \
static const TypeInfo& get() noexcept { \
static const TUserTypeInfo<TType> typeInfo; \
return typeInfo; \
} \
}; \
\
template<__VA_ARGS__> void ::CeresEngine::TUserTypeInfo<TType>::define(TUserTypeInfo& define)
◆ CE_META_CLASS_TEMPLATE_SPECIALIZATION_DEFINE
| #define CE_META_CLASS_TEMPLATE_SPECIALIZATION_DEFINE |
( |
|
... | ) |
|
Value: template struct ::CeresEngine::GetTypeInfo<__VA_ARGS__>; \
CE_META_TYPE_AUTO_REGISTRATION(__VA_ARGS__);
◆ CE_META_CLASS_TEMPLATE_SPECIALIZATION_EXTERN
◆ CE_META_REFLECTABLE_CLASS_BASE
| #define CE_META_REFLECTABLE_CLASS_BASE |
( |
|
... | ) |
|
Value:
return ::CeresEngine::ClassInfo{ \
this, \
}; \
} \
\
return ::CeresEngine::ClassInfo{ \
this, \
}; \
}
constexpr TypeID getTypeID()
Definition Type.hpp:425
A structure that contains type information for a class.
Definition IReflectable.hpp:15
◆ CE_META_REFLECTABLE_CLASS_DEFINE
| #define CE_META_REFLECTABLE_CLASS_DEFINE |
( |
|
... | ) |
|
Value:
static const TUserTypeInfo<__VA_ARGS__> typeInfo; \
return typeInfo; \
} \
CE_META_TYPE_AUTO_REGISTRATION(__VA_ARGS__); \
CE_META_REFLECTABLE_CLASS_BASE(__VA_ARGS__) \
void ::CeresEngine::TUserTypeInfo<__VA_ARGS__>::define(TUserTypeInfo& define)