From 1d894348123f5671c9b3e9a603ac94bfd261c391 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Wed, 31 May 2023 15:03:14 +0200 Subject: [PATCH] snapshot: drop useless function --- src/entt/entity/snapshot.hpp | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/entt/entity/snapshot.hpp b/src/entt/entity/snapshot.hpp index 7d719af03..5c9d3a551 100644 --- a/src/entt/entity/snapshot.hpp +++ b/src/entt/entity/snapshot.hpp @@ -386,15 +386,6 @@ class basic_continuous_loader { } } - template - void remove_if_exists() { - auto &storage = reg->template storage(); - - for(auto &&ref: remloc) { - storage.remove(ref.second.first); - } - } - template void assign(Archive &archive, [[maybe_unused]] Member Other::*...member) { auto &storage = reg->template storage(); @@ -485,7 +476,10 @@ public: destroy(entt); } } else { - remove_if_exists(); + for(auto &&ref: remloc) { + storage.remove(ref.second.first); + } + assign(archive, Member...); } @@ -523,7 +517,12 @@ public: */ template [[deprecated("use .component(archive, members...) instead")]] basic_continuous_loader &component(Archive &archive, Member Clazz::*...member) { - (remove_if_exists(), ...); + auto storage{std::forward_as_tuple(reg->template storage())...}; + + for(auto &&ref: remloc) { + std::apply([&ref](auto &&...elem) { elem.remove(ref.second.first); }, storage); + } + (assign(archive, member...), ...); return *this; }