81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /** @file
 | |
| 
 | |
|     $Id$
 | |
| 
 | |
|     $Date$
 | |
|     $Author$
 | |
| 
 | |
|     @copy © Marc Wäckerlin
 | |
|     @license LGPL, see file <a href="license.html">COPYING</a>
 | |
| 
 | |
|     $Log$
 | |
|     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 {
 | |
| 
 | |
|   /** @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');
 | |
| 
 | |
| }
 |