2004-10-11 18:30:16 +00:00
|
|
|
/** @file
|
|
|
|
|
|
|
|
$Id$
|
|
|
|
|
|
|
|
$Date$
|
|
|
|
$Author$
|
|
|
|
|
|
|
|
@copy © Marc Wäckerlin
|
|
|
|
@license LGPL, see file <a href="license.html">COPYING</a>
|
|
|
|
|
|
|
|
$Log$
|
2004-10-13 11:18:33 +00:00
|
|
|
Revision 1.2 2004/10/13 11:18:33 marc
|
|
|
|
getline reads a whole line from a stream
|
|
|
|
|
2004-10-11 18:30:16 +00:00
|
|
|
Revision 1.1 2004/10/11 18:30:16 marc
|
|
|
|
*** empty log message ***
|
|
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2004-10-13 11:18:33 +00:00
|
|
|
#include <string>
|
|
|
|
#include <iostream>
|
|
|
|
|
2004-10-11 18:30:16 +00:00
|
|
|
namespace mrw {
|
2004-10-13 11:18:33 +00:00
|
|
|
|
|
|
|
/** @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>
|
|
|
|
*/
|
2004-10-11 18:30:16 +00:00
|
|
|
template<typename T> const T& min(const T& a, const T& b) {
|
|
|
|
return a > b ? b : a;
|
|
|
|
}
|
|
|
|
|
2004-10-13 11:18:33 +00:00
|
|
|
/** @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>
|
|
|
|
*/
|
2004-10-11 18:30:16 +00:00
|
|
|
template<typename T> const T& max(const T& a, const T& b) {
|
|
|
|
return a < b ? b : a;
|
|
|
|
}
|
|
|
|
|
2004-10-13 11:18:33 +00:00
|
|
|
/** @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');
|
|
|
|
|
2004-10-11 18:30:16 +00:00
|
|
|
}
|