storage: minor changes

This commit is contained in:
Michele Caini
2021-08-19 16:04:28 +02:00
parent c41509151b
commit 7fd1858db0
2 changed files with 22 additions and 5 deletions

6
TODO
View File

@@ -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

View File

@@ -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.