/** @file $Id$ $Date$ $Author$ @copy © Marc Wäckerlin @license LGPL, see file COPYING $Log$ Revision 1.5 2005/01/28 07:52:33 marc typo in doc Revision 1.4 2004/12/20 07:40:36 marc documentation improved, new grouping Revision 1.3 2004/12/17 16:27:28 marc error in documentation: group forgotten Revision 1.2 2004/10/13 11:18:33 marc getline reads a whole line from a stream Revision 1.1 2004/10/11 18:30:16 marc *** empty log message *** */ #include #include #include namespace mrw { /** @addtogroup StdExt */ //@{ /** @defgroup stdextReadline Read Line The global functions mrw::getline read exactly one line from a stream, without the need of a buffer. It is therefore guaranteed that a whole line is read, regardless of the length of the line. The result is returned as std::string. @code // first syntax returns a string: std::string line(mrw::readline(std::cin)); // second syntax returns the stream: while (mrw::readline(std::cin, line)) std::cout<<"Read: "< @pre @c T must support bool operator>(const T&, constT&) */ template const T& min(const T& a, const T& b) { /// calls @c std::min(a, b); /// @deprecated will be removed in next major release return std::min(a, b); } /** @brief Deprecated! Do not use any more! @deprecated Use @c std::max from @c #include <algorithm> instead! Get the higher of two values. If both values are equal, @c a is returned. @param a first value to compare @param b second value to compare @return the higher of both values @pre #include @pre @c T must support bool operator<(const T&, constT&) */ template const T& max(const T& a, const T& b) { /// calls @c std::max(a, b); /// @deprecated will be removed in next major release return std::max(a, b); } /** @brief read one line from a stream Reads one line from a stream, up to delimiter @c d. The delimiter is not appended to the string. @param is the stream to read from @param d the end of line delimiter @return the line read from the stream @pre #include */ std::string getline(std::istream& is, char d = '\n'); /** @brief read one line from a stream Reads one line from a stream, up to delimiter @c d. The delimiter is not appended to the string. @param is the stream to read from @param s the string to place the line in @param d the end of line delimiter @return @c s: the line read from the stream @return the stream after extraction of line @pre #include */ std::istream& getline(std::istream& is, std::string& s, char d = '\n'); //@} //@} }