Lines Matching refs:ranges
42 // The ranges are all represented with a single value. This is the start of one range and
58 // Construct the ranges. The ranges are represented like so: [0, 2, 5, 7]
59 // The ranges are the spaces in between. In this example, with a total string length of 9,
62 std::vector<Range> ranges;
63 ranges.push_back(Range{ 0 });
64 ranges.push_back(Range{ originalText.size() - 1 });
69 auto iter = std::lower_bound(ranges.begin(), ranges.end(), span.firstChar, cmp);
70 if (iter != ranges.end() && iter->start == span.firstChar) {
73 ranges.insert(iter,
78 iter = std::lower_bound(ranges.begin(), ranges.end(), span.lastChar, cmp);
79 if (iter != ranges.end() && iter->start == span.lastChar) {
82 ranges.insert(iter,
89 // Iterate over the ranges and localize each section.
90 for (size_t i = 0; i < ranges.size(); i++) {
91 const size_t start = ranges[i].start;
93 if (i + 1 < ranges.size()) {
94 len = ranges[i + 1].start - start;
97 if (ranges[i].updateStart) {
98 *ranges[i].updateStart = localized.str.size();
101 if (ranges[i].updateEnd) {
102 *ranges[i].updateEnd = localized.str.size();