C++ Library containing a lot of needful things: Stack Trace, Command Line Parser, Resource Handling, Configuration Files, Unix Command Execution, Directories, Regular Expressions, Tokenizer, Function Trace, Standard Extensions.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.2 KiB

/** @file
$Id$
$Date$
$Author$
@copy © Marc Wä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');
//@}
}