Lines Matching refs:spans
8093 std::vector<span> spans;
8094 spans.reserve(ranges.size());
8097 spans.push_back({iter.offset, iter.offset + iter.size});
8100 if (spans.size() == 0) {
8112 std::sort(spans.begin(), spans.end(), my_comparer);
8114 // Examine two spans at a time.
8115 std::vector<span>::iterator current = spans.begin();
8117 while (next != spans.end()) {
8119 // There is a gap; cannot coalesce. Move to the next two spans.
8123 // Coalesce the two spans. The start of the next span
8128 next = spans.erase(next);
8132 // Now we can check if the incoming range is within any of the spans.
8134 for (uint32_t i = 0; i < spans.size(); ++i) {
8135 if ((offset >= spans[i].start) && ((uint64_t)offset + (uint64_t)size <= (uint64_t)spans[i].end)) {