45 std::lock_guard<std::mutex> lock(mux_m);
48 if (filled_batches_m == 0) {
return; }
50 target.reserve(batch_size_m * filled_batches_m.load());
52 for (std::size_t i = 0; i < filled_batches_m; ++i) {
53 head_batch_m = (head_batch_m + max_batches_m - 1) % max_batches_m;
55 target.insert(target.end(),
56 std::make_move_iterator(data_m[head_batch_m].begin()),
57 std::make_move_iterator(data_m[head_batch_m].end()));
59 data_m[head_batch_m].clear();
62 filled_batches_m.store(0);