|
SDEngine
Game Engine
|
#include <SparseEntitySet.hpp>
Collaboration diagram for sd::SparseEntitySet< T >:Public Member Functions | |
| void | ensure_page (USize page) |
| template<typename... Args> | |
| void | add (Entity entity, Args &&... args) |
| bool | remove (Entity entity) |
| T * | get (Entity entity) |
| const T * | get (Entity entity) const |
| T * | operator[] (Entity idx) |
| const ArenaVec< Entity > & | get_dense_entities () const |
| USize | size () const |
| void | clear () |
| void | serialize_to (std::vector< char > &out) const |
| void | deserialize_from (const std::vector< char > &data) |
| void | serialize (Serializer &s) const |
| void | deserialize (Serializer &s) |
Public Attributes | |
| Arena * | arena = nullptr |
| USize ** | sparse_pages = nullptr |
| U64 | sparse_count = 0 |
| U64 | sparse_cap = 0 |
| ArenaVec< T > | dense_data |
| ArenaVec< Entity > | dense_entities |
Static Public Attributes | |
| static constexpr USize | PAGE_SIZE = 1024 |
| static constexpr USize | SHIFT = math::log2_int(PAGE_SIZE) |
| static constexpr USize | MASK = PAGE_SIZE - 1 |
Friends | |
| class | RuntimeStateManager |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
| Arena* sd::SparseEntitySet< T >::arena = nullptr |
| ArenaVec<T> sd::SparseEntitySet< T >::dense_data |
| ArenaVec<Entity> sd::SparseEntitySet< T >::dense_entities |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
| U64 sd::SparseEntitySet< T >::sparse_cap = 0 |
| U64 sd::SparseEntitySet< T >::sparse_count = 0 |
| USize** sd::SparseEntitySet< T >::sparse_pages = nullptr |