|
5 | 5 |
|
6 | 6 | #include <operators/forward.hpp> |
7 | 7 |
|
| 8 | +import containers.algorithms.generate; |
8 | 9 | import containers.algorithms.keyed_insert; |
9 | 10 | import containers.begin_end; |
10 | | -import containers.emplace_back; |
11 | 11 | import containers.extract_key_to_less; |
12 | 12 | import containers.flat_map; |
13 | 13 | import containers.map_value_type; |
@@ -130,16 +130,12 @@ auto ignore(auto &&) -> void { |
130 | 130 |
|
131 | 131 | template<std::size_t key_size, std::size_t value_size> |
132 | 132 | void test_performance(std::size_t const loop_count) { |
133 | | - auto const generator = [](std::size_t size) { |
134 | | - static std::mt19937 engine(0); |
135 | | - static std::uniform_int_distribution<std::uint32_t> distribution; |
136 | | - using container_type = containers::vector<value_type<Thing<key_size>, Thing<value_size>>>; |
137 | | - auto source = container_type(); |
138 | | - source.reserve(bounded::check_in_range<containers::range_size_t<container_type>>(bounded::integer(size))); |
139 | | - for (std::size_t n = 0; n != size; ++n) { |
140 | | - ::containers::emplace_back(source, distribution(engine), distribution(engine)); |
141 | | - } |
142 | | - return source; |
| 133 | + auto engine = std::mt19937(0); |
| 134 | + auto distribution = std::uniform_int_distribution<std::uint32_t>(); |
| 135 | + auto const generator = [&](std::size_t const size) { |
| 136 | + return containers::vector(containers::generate_n(size, [&] { |
| 137 | + return value_type<Thing<key_size>, Thing<value_size>>(distribution(engine), distribution(engine)); |
| 138 | + })); |
143 | 139 | }; |
144 | 140 |
|
145 | 141 | auto const source = generator(loop_count); |
|
0 commit comments