static void BENCH_Dart_count_multi_threaded(benchmark::State& state) { while (state.KeepRunning()) { uint32 nb_darts_2 = 0u; std::vector<uint32> nb_darts_per_thread(cgogn::nb_threads() + 2); for (auto& n : nb_darts_per_thread) n = 0u; nb_darts_2 = 0u; bench_map.parallel_foreach_dart([&nb_darts_per_thread] (cgogn::Dart, uint32 thread_index) { nb_darts_per_thread[thread_index]++; }); for (uint32 n : nb_darts_per_thread) nb_darts_2 += n; cgogn_assert(nb_darts_2 == bench_map.nb_darts()); } }