From d0090d35fb0b202d6fdfad4215520fba7d184247 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Thu, 26 Jan 2023 11:30:52 +0100 Subject: [PATCH] snapshot: try to make sizes an opaque value to the caller --- src/entt/entity/snapshot.hpp | 15 ++++++++------- test/entt/entity/snapshot.cpp | 8 +------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/entt/entity/snapshot.hpp b/src/entt/entity/snapshot.hpp index 078b4773c..dd3441e27 100644 --- a/src/entt/entity/snapshot.hpp +++ b/src/entt/entity/snapshot.hpp @@ -34,7 +34,7 @@ class basic_snapshot { template void get(Archive &archive, std::size_t sz, It first, It last) const { const auto view = reg->template view(); - archive(typename traits_type::entity_type(sz)); + archive(static_cast(sz)); for(auto it = first; it != last; ++it) { if(reg->template all_of(*it)) { @@ -85,10 +85,11 @@ public: */ template const basic_snapshot &entities(Archive &archive) const { - const auto sz = reg->size(); + const auto sz = static_cast (reg->size()); + const auto released = static_cast(reg->released()); archive(sz); - archive(reg->released()); + archive(released); for(auto first = reg->data(), last = first + sz; first != last; ++first) { archive(*first); @@ -218,8 +219,8 @@ public: */ template const basic_snapshot_loader &entities(Archive &archive) const { - typename registry_type::size_type length{}; - typename registry_type::size_type released{}; + typename traits_type::entity_type length{}; + typename traits_type::entity_type released{}; archive(length); archive(released); @@ -433,8 +434,8 @@ public: */ template basic_continuous_loader &entities(Archive &archive) { - typename registry_type::size_type length{}; - typename registry_type::size_type released{}; + typename traits_type::entity_type length{}; + typename traits_type::entity_type released{}; archive(length); // discards the number of destroyed entities diff --git a/test/entt/entity/snapshot.cpp b/test/entt/entity/snapshot.cpp index a6e196471..1132a4edd 100644 --- a/test/entt/entity/snapshot.cpp +++ b/test/entt/entity/snapshot.cpp @@ -96,7 +96,6 @@ TEST(Snapshot, Dump) { using archive_type = std::tuple< std::queue, std::queue, - std::queue, std::queue, std::queue, std::queue, @@ -161,7 +160,6 @@ TEST(Snapshot, Partial) { using archive_type = std::tuple< std::queue, std::queue, - std::queue, std::queue, std::queue, std::queue>; @@ -226,7 +224,6 @@ TEST(Snapshot, Iterator) { using archive_type = std::tuple< std::queue, std::queue, - std::queue, std::queue, std::queue>; @@ -262,7 +259,6 @@ TEST(Snapshot, Continuous) { using archive_type = std::tuple< std::queue, std::queue, - std::queue, std::queue, std::queue, std::queue, @@ -501,8 +497,7 @@ TEST(Snapshot, MoreOnShrink) { using archive_type = std::tuple< std::queue, - std::queue, - std::queue>; + std::queue>; archive_type storage; output_archive output{storage}; @@ -530,7 +525,6 @@ TEST(Snapshot, SyncDataMembers) { using archive_type = std::tuple< std::queue, std::queue, - std::queue, std::queue, std::queue>;