/** @file
$Id$
$Date$
$Author$
@copy © Marc Wäckerlin
@license LGPL, see file COPYING
$Log$
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>(conbst 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<(conbst 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');
//@}
//@}
}