32 auto [idx1, ptr1] = pool.
emplace(10);
34 CHECK(&pool[idx1] == ptr1);
40 auto [idx2, ptr2] = pool.
emplace(20);
43 CHECK(&pool[idx1] == ptr1);
44 CHECK(&pool[idx2] == ptr2);
49 auto [idx3, ptr3] = pool.
emplace(30);
53 CHECK(&pool[idx1] == ptr1);
54 CHECK(&pool[idx2] == ptr2);
55 CHECK(&pool[idx3] == ptr3);
63 CHECK(&pool[idx1] == ptr1);
64 CHECK(&pool[idx3] == ptr3);
69 auto [idx4, ptr4] = pool.
emplace(40);
74 CHECK(&pool[idx1] == ptr1);
75 CHECK(&pool[idx3] == ptr3);
76 CHECK(&pool[idx4] == ptr4);
82 for (
auto i :
xrange(1000)) {
84 auto [idx, ptr] = pool.
emplace(val);
86 CHECK(&pool[idx] == ptr);
EmplaceResult emplace(Args &&...args)
size_t size(std::string_view utf8)
static std::vector< int > constructed
static std::vector< int > destructed
constexpr auto xrange(T e)