From d3328accaed585dcedc6db05c97ffd938c73c1c4 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Tue, 28 May 2024 18:39:41 +0200 Subject: [PATCH] dense_map: avoid unnecessary arithmetic --- src/entt/container/dense_map.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/entt/container/dense_map.hpp b/src/entt/container/dense_map.hpp index 407c8f809..ad534a8cb 100644 --- a/src/entt/container/dense_map.hpp +++ b/src/entt/container/dense_map.hpp @@ -325,7 +325,7 @@ class dense_map { void move_and_pop(const std::size_t pos) { if(const auto last = size() - 1u; pos != last) { - size_type *curr = sparse.first().data() + key_to_bucket(packed.first().back().element.first); + size_type *curr = &sparse.first()[key_to_bucket(packed.first().back().element.first)]; packed.first()[pos] = std::move(packed.first().back()); for(; *curr != last; curr = &packed.first()[*curr].next) {} *curr = pos; @@ -679,7 +679,7 @@ public: * @return Number of elements removed (either 0 or 1). */ size_type erase(const key_type &key) { - for(size_type *curr = sparse.first().data() + key_to_bucket(key); *curr != (std::numeric_limits::max)(); curr = &packed.first()[*curr].next) { + for(size_type *curr = &sparse.first()[key_to_bucket(key)]; *curr != (std::numeric_limits::max)(); curr = &packed.first()[*curr].next) { if(packed.second()(packed.first()[*curr].element.first, key)) { const auto index = *curr; *curr = packed.first()[*curr].next;