92 size_t range_count = 0;
93 DuplicateRange current{ pairs[0].original, pairs[0].duplicate, 1 };
95 if (range_count == 2) {
102 ranges[range_count++] = r;
104 for (
size_t i = 1; i < pairs.size(); ++i) {
105 const auto& p = pairs[i];
106 if (p.original == current.original_start + current.count &&
107 p.duplicate == current.duplicate_start + current.count) {
110 close_range(current);
111 current = { p.original, p.duplicate, 1 };
114 close_range(current);
115 if (range_count == 1) {
119 ranges[1].original_start, ranges[1].duplicate_start, ranges[1].count };