storage: cleanup

This commit is contained in:
Michele Caini
2022-01-09 14:25:41 +01:00
parent e0979fcf3f
commit 19112a8f27

View File

@@ -270,12 +270,12 @@ class basic_storage: public basic_sparse_set<Entity, typename std::allocator_tra
}
void shrink_to_size(const std::size_t sz) {
if(base_type::slot() == base_type::size()) {
for(auto pos = sz, last = base_type::size(); pos < last; ++pos) {
if(const auto length = base_type::size(); base_type::slot() == length) {
for(auto pos = sz; pos < length; ++pos) {
std::destroy_at(std::addressof(element_at(pos)));
}
} else {
for(auto pos = sz, last = base_type::size(); pos < last; ++pos) {
for(auto pos = sz; pos < length; ++pos) {
if(base_type::at(pos) != tombstone) {
std::destroy_at(std::addressof(element_at(pos)));
}