From f8de85b961f01387127a03c9dd930ed00f5883b7 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Mon, 1 Aug 2022 10:34:07 +0200 Subject: [PATCH] update single include file --- single_include/entt/entt.hpp | 86 +++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 41 deletions(-) diff --git a/single_include/entt/entt.hpp b/single_include/entt/entt.hpp index 20647cf3d..9eb3f8108 100644 --- a/single_include/entt/entt.hpp +++ b/single_include/entt/entt.hpp @@ -18,7 +18,7 @@ #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -120,7 +120,7 @@ #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -163,7 +163,7 @@ #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -275,7 +275,7 @@ #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -4236,7 +4236,7 @@ class dense_set { #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -4581,7 +4581,7 @@ struct radix_sort { #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -8988,7 +8988,7 @@ struct y_combinator { #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -9168,7 +9168,7 @@ inline constexpr bool ignore_as_empty_v = (component_traits::page_size == #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -11271,7 +11271,7 @@ struct radix_sort { #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -14035,12 +14035,14 @@ class basic_sparse_set { */ virtual void swap_and_pop(basic_iterator first, basic_iterator last) { for(; first != last; ++first) { - sparse_ref(packed.back()) = entity_traits::combine(static_cast(first.index()), entity_traits::to_integral(packed.back())); - const auto entt = std::exchange(packed[first.index()], packed.back()); + auto &self = sparse_ref(*first); + const auto entt = entity_traits::to_entity(self); + sparse_ref(packed.back()) = entity_traits::combine(entt, entity_traits::to_integral(packed.back())); + packed[static_cast(entt)] = packed.back(); // unnecessary but it helps to detect nasty bugs ENTT_ASSERT((packed.back() = tombstone, true), ""); // lazy self-assignment guard - sparse_ref(entt) = null; + self = null; packed.pop_back(); } } @@ -14052,8 +14054,8 @@ class basic_sparse_set { */ virtual void in_place_pop(basic_iterator first, basic_iterator last) { for(; first != last; ++first) { - sparse_ref(*first) = null; - packed[first.index()] = std::exchange(free_list, entity_traits::combine(static_cast(first.index()), entity_traits::reserved)); + const auto entt = entity_traits::to_entity(std::exchange(sparse_ref(*first), null)); + packed[static_cast(entt)] = std::exchange(free_list, entity_traits::combine(entt, entity_traits::reserved)); } } @@ -15100,7 +15102,7 @@ struct tuple_element>: conditional>: conditional, get_t, exclude_t, get_t, exclude_t(first.index()), entity_traits::to_integral(packed.back())); - const auto entt = std::exchange(packed[first.index()], packed.back()); + auto &self = sparse_ref(*first); + const auto entt = entity_traits::to_entity(self); + sparse_ref(packed.back()) = entity_traits::combine(entt, entity_traits::to_integral(packed.back())); + packed[static_cast(entt)] = packed.back(); // unnecessary but it helps to detect nasty bugs ENTT_ASSERT((packed.back() = tombstone, true), ""); // lazy self-assignment guard - sparse_ref(entt) = null; + self = null; packed.pop_back(); } } @@ -30559,8 +30563,8 @@ class basic_sparse_set { */ virtual void in_place_pop(basic_iterator first, basic_iterator last) { for(; first != last; ++first) { - sparse_ref(*first) = null; - packed[first.index()] = std::exchange(free_list, entity_traits::combine(static_cast(first.index()), entity_traits::reserved)); + const auto entt = entity_traits::to_entity(std::exchange(sparse_ref(*first), null)); + packed[static_cast(entt)] = std::exchange(free_list, entity_traits::combine(entt, entity_traits::reserved)); } } @@ -33115,7 +33119,7 @@ basic_view(Storage &...storage) -> basic_view::type; #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -47780,7 +47784,7 @@ using invoke_result_t = typename std::invoke_result::type; #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -47889,7 +47893,7 @@ using invoke_result_t = typename std::invoke_result::type; #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -51160,7 +51164,7 @@ class basic_poly: private Concept::template type, Allocator> #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -57878,7 +57882,7 @@ template #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -57990,7 +57994,7 @@ template #define ENTT_VERSION_MAJOR 3 #define ENTT_VERSION_MINOR 10 -#define ENTT_VERSION_PATCH 1 +#define ENTT_VERSION_PATCH 2 #define ENTT_VERSION \ ENTT_XSTR(ENTT_VERSION_MAJOR) \ @@ -59152,7 +59156,7 @@ delegate(Ret (*)(const void *, Args...), const void * = nullptr) -> delegate delegate