COIN-OR::LEMON - Graph Library

Changeset 250:d0aae16df1bb in lemon-main for lemon


Ignore:
Timestamp:
08/27/08 10:50:04 (16 years ago)
Author:
Peter Kovacs <kpeter@…>
Branch:
default
Phase:
public
Message:

Stream operators for Point and BoundingBox? classes (ticket #126)

  • Add operator<< and operator>> for BoundingBox?.
  • operator<< of Point gives space-less output.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/dim2.h

    r241 r250  
    222222  inline std::ostream& operator<<(std::ostream &os, const Point<T>& z)
    223223  {
    224     os << "(" << z.x << ", " << z.y << ")";
     224    os << "(" << z.x << "," << z.y << ")";
    225225    return os;
    226226  }
     
    534534
    535535
     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
    536577  ///Map of x-coordinates of a \ref Point "Point"-map
    537578
Note: See TracChangeset for help on using the changeset viewer.