31 for (
auto it = old_ranges.begin(); it != old_ranges.end(); ++it) {
32 auto current_range = *it;
33 log(std::format(
"old range: {}-{}", current_range.first, current_range.second));
34 for (
auto inner = it + 1; inner != old_ranges.end(); ++inner)
35 if (
auto merged =
merge_ranges(current_range, *inner)) current_range = *merged;
37 std::vector<typename Vec::iterator> de_duplicate;
38 for (
auto inner = new_ranges.begin(); inner != new_ranges.end(); ++inner) {
40 current_range = *merged;
41 de_duplicate.push_back(inner);
44 for (
auto dedup : de_duplicate) {
45 log(std::format(
"dedup {}-{}", current_range.first, current_range.second));
46 new_ranges.erase(dedup);
48 log(std::format(
"new range: {}-{}", current_range.first, current_range.second));
49 new_ranges.push_back(std::move(current_range));