45 template<
typename... ForwardT>
T &
construct(ForwardT &&...value)
47 if (free_list_.is_empty()) {
48 values_.append(std::make_unique<Chunk>());
49 T *chunk_start = values_.last()->ptr();
51 free_list_.push(chunk_start +
i);
54 T *
ptr = free_list_.pop();
55 new (
ptr)
T(std::forward<ForwardT>(value)...);