23 void clear () { gt = lt = eq =
false; }
26 Range () { clear(); x0 = x1 = 0; }
28 friend std::ostream& operator<< (std::ostream&,
const Range&);
29 friend std::istream& operator>> (std::istream&, Range&);
31 bool is_range ()
const {
return !(eq || gt || lt); }
32 std::pair<double,double> get_range ()
const;
33 void set_range (
double _0,
double _1) { x0=_0; x1=_1; clear(); }
35 bool is_value ()
const {
return eq; }
36 double get_value ()
const;
37 void set_value (
double x) { x0=x; clear(); eq=
true; }
39 bool within (
double x)
const;
45 std::vector<Range> ranges;
48 friend std::ostream& operator<< (std::ostream&,
const Ranges&);
49 friend std::istream& operator>> (std::istream&, Ranges&);
50 bool within (
double x)
const;