diff --git a/src/entt/entity/sparse_set.hpp b/src/entt/entity/sparse_set.hpp index 083edfd55..f8206a3fd 100644 --- a/src/entt/entity/sparse_set.hpp +++ b/src/entt/entity/sparse_set.hpp @@ -234,7 +234,9 @@ private: return nullptr; } - virtual void swap_or_move(const std::size_t, const std::size_t) {} + virtual void swap_or_move([[maybe_unused]] const std::size_t lhs, [[maybe_unused]] const std::size_t rhs) { + ENTT_ASSERT((mode != deletion_policy::swap_only) || (((lhs < free_list()) + (rhs < free_list())) != 1u), "Cross swapping is not supported"); + } protected: /*! @brief Random access iterator type. */ diff --git a/src/entt/entity/storage.hpp b/src/entt/entity/storage.hpp index be6425bbd..2bf796958 100644 --- a/src/entt/entity/storage.hpp +++ b/src/entt/entity/storage.hpp @@ -965,11 +965,6 @@ class basic_storage return local_traits_type::combine(static_cast(pos), {}); } -private: - void swap_or_move([[maybe_unused]] const std::size_t lhs, [[maybe_unused]] const std::size_t rhs) override { - ENTT_ASSERT(((lhs < base_type::free_list()) + (rhs < base_type::free_list())) != 1u, "Cross swapping is not supported"); - } - protected: /** * @brief Assigns an entity to a storage.