lemon/dim2.h
changeset 250 d0aae16df1bb
parent 241 92f046dd7f6c
child 253 dbe309b5e855
equal deleted inserted replaced
7:2bbf50b8bebe 8:dd9c19843b40
   219   ///\relates Point
   219   ///\relates Point
   220   ///
   220   ///
   221   template<typename T>
   221   template<typename T>
   222   inline std::ostream& operator<<(std::ostream &os, const Point<T>& z)
   222   inline std::ostream& operator<<(std::ostream &os, const Point<T>& z)
   223   {
   223   {
   224     os << "(" << z.x << ", " << z.y << ")";
   224     os << "(" << z.x << "," << z.y << ")";
   225     return os;
   225     return os;
   226   }
   226   }
   227 
   227 
   228   ///Rotate by 90 degrees
   228   ///Rotate by 90 degrees
   229 
   229 
   531       }
   531       }
   532 
   532 
   533     };//class Boundingbox
   533     };//class Boundingbox
   534 
   534 
   535 
   535 
       
   536   ///Read a bounding box from a stream
       
   537 
       
   538   ///Read a bounding box from a stream.
       
   539   ///\relates BoundingBox
       
   540   template<typename T>
       
   541   inline std::istream& operator>>(std::istream &is, BoundingBox<T>& b) {
       
   542     char c;
       
   543     Point<T> p;
       
   544     if (is >> c) {
       
   545       if (c != '(') is.putback(c);
       
   546     } else {
       
   547       is.clear();
       
   548     }
       
   549     if (!(is >> p)) return is;
       
   550     b.bottomLeft(p);
       
   551     if (is >> c) {
       
   552       if (c != ',') is.putback(c);
       
   553     } else {
       
   554       is.clear();
       
   555     }
       
   556     if (!(is >> p)) return is;
       
   557     b.topRight(p);
       
   558     if (is >> c) {
       
   559       if (c != ')') is.putback(c);
       
   560     } else {
       
   561       is.clear();
       
   562     }
       
   563     return is;
       
   564   }
       
   565 
       
   566   ///Write a bounding box to a stream
       
   567 
       
   568   ///Write a bounding box to a stream.
       
   569   ///\relates BoundingBox
       
   570   template<typename T>
       
   571   inline std::ostream& operator<<(std::ostream &os, const BoundingBox<T>& b)
       
   572   {
       
   573     os << "(" << b.bottomLeft() << "," << b.topRight() << ")";
       
   574     return os;
       
   575   }
       
   576 
   536   ///Map of x-coordinates of a \ref Point "Point"-map
   577   ///Map of x-coordinates of a \ref Point "Point"-map
   537 
   578 
   538   ///\ingroup maps
   579   ///\ingroup maps
   539   ///Map of x-coordinates of a \ref Point "Point"-map.
   580   ///Map of x-coordinates of a \ref Point "Point"-map.
   540   ///
   581   ///