sparse_set: refine assure_at_least to better support non-enum identifiers

This commit is contained in:
Michele Caini
2023-12-22 14:30:02 +01:00
parent fc3df2b0ac
commit 28424709d5

View File

@@ -187,9 +187,10 @@ class basic_sparse_set {
}
if(!sparse[page]) {
constexpr entity_type init = null;
auto page_allocator{packed.get_allocator()};
sparse[page] = alloc_traits::allocate(page_allocator, traits_type::page_size);
std::uninitialized_fill(sparse[page], sparse[page] + traits_type::page_size, null);
std::uninitialized_fill(sparse[page], sparse[page] + traits_type::page_size, init);
}
return sparse[page][fast_mod(pos, traits_type::page_size)];