Lines Matching refs:Interval
58 class Interval
66 Interval() {}
68 explicit Interval(Coord u) : Base(u) {}
70 Interval(Coord u, Coord v) : Base(u,v) {}
72 Interval(IntInterval const &i) : Base(i.min(), i.max()) {}
73 Interval(Base const &b) : Base(b) {}
81 * @return Interval that contains all values from [start, end). */
83 static Interval from_range(InputIterator start, InputIterator end) {
84 Interval result = Base::from_range(start, end);
88 static Interval from_array(Coord const *c, unsigned n) {
89 Interval result = from_range(c, c+n);
125 bool interiorContains(Interval const &val) const { return min() < val.min() && val.max() < max(); }
129 bool lowerContains(Interval const &val) const { return min() <= val.min() && val.max() < max(); }
133 bool upperContains(Interval const &val) const { return min() < val.min() && val.max() <= max(); }
136 bool interiorIntersects(Interval const &val) const {
145 Interval &operator*=(Coord s) {
153 Interval &operator/=(Coord s) {
164 Interval &operator*=(Interval const &o) {
176 bool operator==(Interval const &other) const {
212 OptInterval(Interval const &a) : Base(a) {}
220 OptInterval(IntInterval const &i) : Base(Interval(i)) {}
223 if (i) *this = Interval(*i);
228 inline Interval unify(Interval const &a, Interval const &b)
230 Interval r = a | b;
233 inline OptInterval intersect(Interval const &a, Interval const &b)