Add explicit allocator constructor

This commit is contained in:
Christian Mazakas 2023-04-18 15:36:12 -07:00
parent 910b8de697
commit fb403bc233
2 changed files with 21 additions and 1 deletions

View File

@ -182,6 +182,11 @@ namespace boost {
{
}
explicit concurrent_flat_map(allocator_type a)
: table_(detail::foa::default_bucket_count, hasher(), key_equal(), a)
{
}
/// Capacity
///

View File

@ -312,7 +312,7 @@ namespace {
map_type x(values.begin(), values.end(), 0, hasher(1), key_equal(2),
allocator_type{});
std::atomic_int num_transfers{0};
std::atomic_uint num_transfers{0};
thread_runner(
values, [&x, &reference_map, &num_transfers](
@ -429,6 +429,21 @@ namespace {
check_raii_counts();
}
UNORDERED_AUTO_TEST (explicit_allocator) {
raii::reset_counts();
{
allocator_type a;
map_type x(a);
BOOST_TEST_EQ(x.size(), 0u);
BOOST_TEST_EQ(x.hash_function(), hasher());
BOOST_TEST_EQ(x.key_eq(), key_equal());
BOOST_TEST(x.get_allocator() == a);
}
}
} // namespace
// clang-format off