8#include "SD/export.hpp"
15 using PoolCreatorFn = std::function<std::unique_ptr<SparseEntitySetBase>()>;
25#define REGISTER_SERIALIZABLE_COMPONENT(T) \
27 struct T##PoolRegistrar { \
28 T##PoolRegistrar() { \
29 ComponentFactory::register_component(ComponentTraits<T>::id, \
30 [] { return std::make_unique<SparseEntitySet<T>>(); }); \
33 static T##PoolRegistrar T##s_pool_registrar; \
Definition ComponentFactory.hpp:13
static std::vector< PoolCreatorFn > m_creators
Definition ComponentFactory.hpp:22
std::function< std::unique_ptr< SparseEntitySetBase >()> PoolCreatorFn
Definition ComponentFactory.hpp:15
Definition Application.hpp:28
std::uint32_t u32
Definition types.hpp:15
constexpr T g_type_max
Definition types.hpp:21