39 template<
class T>
class PRegion;
123 if ((Bmin == Bmax && Amin == Bmin) ||
124 (Bmin != Bmax && Amin >= Bmin && Amin < Bmax))
127 else if (Bmin == Bmax) {
128 if (Bmin >= Amin && Bmin < Amax)
132 if (Amax > Bmin && Bmax > Amin) {
133 A = (Amin > Bmin ? Amin : Bmin);
134 B = (Amax < Bmax ? Amax : Bmax);
153 if ((Bmin == Bmax && Amin == Bmin) ||
154 (Bmin != Bmax && Amin >= Bmin && Amin < Bmax))
157 else if (Bmin == Bmax) {
158 if (Bmin >= Amin && Bmin < Amax)
162 if (Amax > Bmin && Bmax > Amin)
187 return ( (L1 < L2) || ( (L1 == L2) && ( (Amin < Bmin) ||
188 ( (Amin == Bmin) && (L1 > 0) ) ) ) );
270 out <<
'[' << r.
min();
271 out <<
',' << r.
max();
std::ostream & operator<<(std::ostream &, const PRegion< T > &)
PRegion< T > operator+(const PRegion< T > &, T)
PRegion< T > operator-(const PRegion< T > &, T)
PRegion< T > operator/(const PRegion< T > &, T)
PRegion< T > operator*(const PRegion< T > &, T)
Message & put(const T &val)
Message & get_iter(OutputIterator o)
bool split(PRegion< T > &l, PRegion< T > &r) const
bool contains(const PRegion< T > &r) const
Message & putMessage(Message &m)
PRegion< T > & operator*=(T t)
PRegion< T > & operator-=(T t)
bool operator<(const PRegion< T > &r) const
bool operator==(const PRegion< T > &r) const
Message & getMessage(Message &m)
bool touches(const PRegion< T > &r) const
PRegion< T > intersect(const PRegion< T > &r) const
PRegion< T > & operator+=(T t)
PRegion< T > & operator/=(T t)