storage: minor changes
This commit is contained in:
6
TODO
6
TODO
@@ -5,6 +5,7 @@
|
||||
* custom pools example (multi instance, tables, enable/disable, and so on...)
|
||||
|
||||
WIP:
|
||||
* make sparse_set/storage adhere to AllocatorAwareContainer requirements
|
||||
* fast-contains for sparse sets (low prio but nice-to-have)
|
||||
* runtime components (registry), runtime events (dispatcher/emitter), ...
|
||||
* runtime_view/registry, remove reference to basic_sparse_set<E>
|
||||
@@ -14,10 +15,11 @@ WIP:
|
||||
* custom allocators all over
|
||||
|
||||
WIP:
|
||||
* customizable any_vtable, sfinae-friendly definition and op::custom for user-def
|
||||
* remove Entity from views and groups
|
||||
* registry: fake vtable (mixin injected) to get rid of poly storage, use pointer to sparse set only for pools, discard pool_data type.
|
||||
* general purpose paged vector container
|
||||
* make sparse_set/storage adhere to AllocatorAwareContainer requirements
|
||||
* make it possible to register externally managed pools with the registry (allow for system centric mode)
|
||||
* registry: switch to the udata/mixin model and get rid of poly storage, use pointer to sparse set only for pools, discard pool_data type.
|
||||
* resource, forward the id to the loader from the cache and if constexpr the call to load, update doc and describe customization points
|
||||
* make it possible to create views of the type `view<T, T>`, add get by index and such, allow to register custom pools by name with the registry
|
||||
* add user data to type_info
|
||||
|
||||
@@ -343,7 +343,9 @@ public:
|
||||
|
||||
/*! @brief Default constructor. */
|
||||
basic_storage()
|
||||
: basic_storage{allocator_type{}}
|
||||
: base_type{deletion_policy{comp_traits::in_place_delete::value}},
|
||||
bucket{allocator_type{}, size_type{}},
|
||||
packed{}
|
||||
{}
|
||||
|
||||
/**
|
||||
@@ -374,7 +376,7 @@ public:
|
||||
/**
|
||||
* @brief Move assignment operator.
|
||||
* @param other The instance to move from.
|
||||
* @return This sparse set.
|
||||
* @return This storage.
|
||||
*/
|
||||
basic_storage & operator=(basic_storage &&other) ENTT_NOEXCEPT {
|
||||
release_memory();
|
||||
@@ -705,7 +707,7 @@ public:
|
||||
|
||||
/*! @brief Default constructor. */
|
||||
basic_storage()
|
||||
: basic_storage{allocator_type{}}
|
||||
: base_type{deletion_policy{comp_traits::in_place_delete::value}}
|
||||
{}
|
||||
|
||||
/**
|
||||
@@ -716,6 +718,19 @@ public:
|
||||
: base_type{deletion_policy{comp_traits::in_place_delete::value}, allocator}
|
||||
{}
|
||||
|
||||
/**
|
||||
* @brief Move constructor.
|
||||
* @param other The instance to move from.
|
||||
*/
|
||||
basic_storage(basic_storage &&other) ENTT_NOEXCEPT = default;
|
||||
|
||||
/**
|
||||
* @brief Move assignment operator.
|
||||
* @param other The instance to move from.
|
||||
* @return This storage.
|
||||
*/
|
||||
basic_storage & operator=(basic_storage &&other) ENTT_NOEXCEPT = default;
|
||||
|
||||
/**
|
||||
* @brief Returns the associated allocator.
|
||||
* @return The associated allocator.
|
||||
|
||||
Reference in New Issue
Block a user