diff --git a/src/entt/entity/storage.hpp b/src/entt/entity/storage.hpp index fcb2f5ba9..720af4ece 100644 --- a/src/entt/entity/storage.hpp +++ b/src/entt/entity/storage.hpp @@ -421,6 +421,8 @@ public: using reverse_iterable = iterable_adaptor>; /*! @brief Constant extended reverse iterable storage proxy. */ using const_reverse_iterable = iterable_adaptor>; + /*! @brief Storage deletion policy. */ + static constexpr deletion_policy storage_policy{traits_type::in_place_delete}; /*! @brief Default constructor. */ basic_storage() @@ -431,7 +433,7 @@ public: * @param allocator The allocator to use. */ explicit basic_storage(const allocator_type &allocator) - : base_type{type_id(), deletion_policy{traits_type::in_place_delete}, allocator}, + : base_type{type_id(), storage_policy, allocator}, payload{allocator} {} /** @@ -797,6 +799,8 @@ public: using reverse_iterable = iterable_adaptor>; /*! @brief Constant extended reverse iterable storage proxy. */ using const_reverse_iterable = iterable_adaptor>; + /*! @brief Storage deletion policy. */ + static constexpr deletion_policy storage_policy{traits_type::in_place_delete}; /*! @brief Default constructor. */ basic_storage() @@ -807,7 +811,7 @@ public: * @param allocator The allocator to use. */ explicit basic_storage(const allocator_type &allocator) - : base_type{type_id(), deletion_policy{traits_type::in_place_delete}, allocator} {} + : base_type{type_id(), storage_policy, allocator} {} /** * @brief Move constructor. @@ -999,6 +1003,8 @@ public: using reverse_iterable = iterable_adaptor>; /*! @brief Constant extended reverse iterable storage proxy. */ using const_reverse_iterable = iterable_adaptor>; + /*! @brief Storage deletion policy. */ + static constexpr deletion_policy storage_policy = deletion_policy::swap_only; /*! @brief Default constructor. */ basic_storage() @@ -1010,7 +1016,7 @@ public: * @param allocator The allocator to use. */ explicit basic_storage(const allocator_type &allocator) - : base_type{type_id(), deletion_policy::swap_only, allocator}, + : base_type{type_id(), storage_policy, allocator}, placeholder{} {} /**