/** @file
$ Id $
$ Date $
$ Author $
@ copy & copy ; Marc W & auml ; ckerlin
@ license LGPL , see file < a href = " license.html " > COPYING < / a >
$ Log $
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 <string>
# include <iostream>
namespace mrw {
/** @addtogroup StdExt
*/
//@{
/** @brief get the lower of two values
Get the lower 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 lower of both values
@ pre # include < mrw / stdext . hpp >
@ pre @ c T must support < code > bool operator > ( conbst T & , constT & ) < / code >
*/
template < typename T > const T & min ( const T & a , const T & b ) {
return a > b ? b : a ;
}
/** @brief get the higher of two values
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 < mrw / stdext . hpp >
@ pre @ c T must support < code > bool operator < ( conbst T & , constT & ) < / code >
*/
template < typename T > const T & max ( const T & a , const T & b ) {
return a < b ? b : a ;
}
/** @brief read one line from a stream
Reads one line from a stream , up to delimiter @ c d .
@ param is the stream to read from
@ param d the end of line delimiter
@ return the line read from the stream
@ pre # include < mrw / stdext . hpp >
*/
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 .
@ 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 < mrw / stdext . hpp >
*/
std : : istream & getline ( std : : istream & is , std : : string & s , char d = ' \n ' ) ;
//@}
}