65 std::vector<std::unique_ptr<usize[]>>
sparse;
70 template<
typename...
Args>
113 const char*
ptr = data.data();
150 s.write(
e.generation);
Definition RuntimeStateManager.hpp:24
Definition serialization.hpp:16
Definition serialization.hpp:36
Definition SparseEntitySet.hpp:16
~SparseEntitySetBase() override=default
virtual bool remove(Entity entity)=0
virtual std::optional< ComponentDebugInfo > get_debug_info(Entity e)=0
Definition SparseEntitySet.hpp:42
const std::vector< Entity > & get_dense_entities() const
Definition SparseEntitySet.hpp:90
static constexpr usize MASK
Definition SparseEntitySet.hpp:45
bool remove(Entity entity) override
Definition SparseEntitySet.inl:35
usize size() const
Definition SparseEntitySet.hpp:92
const T * get(Entity entity) const
void deserialize_from(const std::vector< char > &data)
Definition SparseEntitySet.hpp:112
static constexpr usize PAGE_SIZE
Definition SparseEntitySet.hpp:43
T * operator[](const Entity idx)
Definition SparseEntitySet.hpp:89
static constexpr usize SHIFT
Definition SparseEntitySet.hpp:44
T * get(Entity entity)
Definition SparseEntitySet.inl:74
void add(Entity entity, Args &&... args)
void deserialize(Serializer &s) override
Definition SparseEntitySet.hpp:160
void serialize(Serializer &s) const override
Definition SparseEntitySet.hpp:146
std::optional< ComponentDebugInfo > get_debug_info(Entity e) override
Definition SparseEntitySet.inl:113
std::vector< Entity > dense_entities
Definition SparseEntitySet.hpp:67
void ValidateInvariants() const
Definition SparseEntitySet.hpp:53
std::vector< std::unique_ptr< usize[]> > sparse
Definition SparseEntitySet.hpp:65
std::vector< T > dense_data
Definition SparseEntitySet.hpp:66
void serialize_to(std::vector< char > &out) const
Definition SparseEntitySet.hpp:94
Definition component_registration.hpp:107
consteval usize log2_int(std::unsigned_integral auto n)
Definition math_utils.hpp:10
Definition Application.hpp:28
static void deserialize(T &component, Serializer &s)=delete
static void serialize(const T &component, Serializer &s)=delete
u32 index
Definition Entity.hpp:19
std::uint32_t u32
Definition types.hpp:15
constexpr T g_type_max
Definition types.hpp:21
std::size_t usize
Definition types.hpp:18