+ void add_point (T p)
+ {
+ at (LEFT) = min (at (LEFT), p);
+ at (RIGHT) = max (at (RIGHT), p);
+ }
+ T length () const;
+ T delta () const;
+ void set_empty ();
+ void set_full ();
+
+ /*
+ TODO: strip hungarian suffix.
+ */
+ bool is_empty () const
+ {
+ return at (LEFT) > at (RIGHT);
+ }
+ bool superset (Interval_t<T> const &) const;
+ Interval_t ()
+ {
+ set_empty ();
+ }
+ Interval_t (Drul_array<T> const &src)
+ : Drul_array<T> (src)
+ {
+ }