43template<
typename...
Ts>
80#define REGISTER_SD_COMPONENT(Type) \
82 struct ComponentTraits<Type> { \
83 static constexpr bool s_is_registered = true; \
84 static constexpr const char* name = "SD_" #Type; \
85 static inline const usize id = detail::ComponentIdGenerator::next(); \
92#define REGISTER_COMPONENT(Type) \
94 struct ComponentTraits<Type> { \
95 static constexpr bool s_is_registered = true; \
96 static constexpr const char* name = #Type; \
97 static inline const usize id = detail::ComponentIdGenerator::next(); \
Definition serialization.hpp:36
Definition component_registration.hpp:107
Definition Application.hpp:28
Definition component_registration.hpp:100
const char * name
Definition component_registration.hpp:102
void * data
Definition component_registration.hpp:103
usize id
Definition component_registration.hpp:101
Definition component_registration.hpp:44
Definition component_registration.hpp:50
static void deserialize(T &component, Serializer &s)=delete
static void serialize(const T &component, Serializer &s)=delete
Definition component_registration.hpp:71
static constexpr bool s_is_registered
Definition component_registration.hpp:72
Definition component_registration.hpp:56
static usize next()
Definition component_registration.hpp:62
ComponentIdGenerator & operator=(const ComponentIdGenerator &)=delete
static usize m_counter
Definition component_registration.hpp:65
ComponentIdGenerator()=delete
ComponentIdGenerator(const ComponentIdGenerator &)=delete
~ComponentIdGenerator()=delete
constexpr T g_type_max
Definition types.hpp:21
std::size_t usize
Definition types.hpp:18