Lines Matching full:intervals
19 // Class to represent and operate on sets of intervals.
34 // Stores and operates on a set of half-open integral intervals [a,b)
80 vector<Interval> *Intervals() { return &intervals_; }
82 const vector<Interval> *Intervals() const { return &intervals_; }
88 // Number of points in the intervals (undefined if not normalized).
98 const vector<Interval> *intervals = iset.Intervals();
99 for (typename vector<Interval>::const_iterator it = intervals->begin();
100 it != intervals->end(); ++it)
104 // Requires intervals be normalized.
114 // Requires intervals be normalized.
116 return *(iset.Intervals()) == intervals_;
119 // Requires intervals be normalized.
121 return *(iset.Intervals()) != intervals_;
133 // Intersects an interval set with the set. Requires intervals be
137 // Complements the set w.r.t [0, maxval). Requires intervals be
141 // Subtract an interval set from the set. Requires intervals be
146 // intervals be normalized.
150 // is contained in the other. Requires intervals be normalized.
154 // intervals be normalized.
197 // Intersects an interval set with the set. Requires intervals be normalized.
202 const vector<Interval> *iintervals = iset.Intervals();
203 vector<Interval> *ointervals = oset->Intervals();
229 // Complements the set w.r.t [0, maxval). Requires intervals be normalized.
233 vector<Interval> *ointervals = oset->Intervals();
256 // Subtract an interval set from the set. Requires intervals be normalized.
262 oset->Intervals()->clear();
272 // intervals be normalized.
275 const vector<Interval> *intervals = iset.Intervals();
277 typename vector<Interval>::const_iterator it2 = intervals->begin();
279 while (it1 != intervals_.end() && it2 != intervals->end()) {
292 // is contained in the other. Requires intervals be normalized.
295 const vector<Interval> *intervals = iset.Intervals();
297 typename vector<Interval>::const_iterator it2 = intervals->begin();
298 bool only1 = false; // point in intervals_ but not intervals
299 bool only2 = false; // point in intervals but not intervals_
300 bool overlap = false; // point in both intervals_ and intervals
302 while (it1 != intervals_.end() && it2 != intervals->end()) {
331 if (it2 != intervals->end())
338 // intervals be normalized.
344 const vector<Interval> *intervals = iset.Intervals();
346 typename vector<Interval>::const_iterator it2 = intervals->begin();
348 while (it1 != intervals_.end() && it2 != intervals->end()) {
360 return it2 == intervals->end();
366 const vector<Interval> *intervals = s.Intervals();
368 for (typename vector<Interval>::const_iterator it = intervals->begin();
369 it != intervals->end();
371 if (it != intervals->begin())