zypp::iostr Namespace Reference

Iostream related utilities. More...


Classes

class  EachLine
 Simple lineparser: Traverse each line in a file. More...

Typedefs

typedef
boost::io::ios_base_all_saver 
IosFmtFlagsSaver
 Save and restore streams width, precision and fmtflags.

Functions

std::string getline (std::istream &str)
 Read one line from stream.
template<class _Function>
_Function & forEachLine (std::istream &str_r, _Function &consume_r)
 Simple lineparser: Call functor consume_r for each line.


Detailed Description

Iostream related utilities.

Typedef Documentation

typedef boost::io::ios_base_all_saver zypp::iostr::IosFmtFlagsSaver

Save and restore streams width, precision and fmtflags.

Definition at line 34 of file IOStream.h.


Function Documentation

std::string zypp::iostr::getline ( std::istream &  str  ) 

Read one line from stream.

Reads everything up to the next newline or EOF. newline is read but not returned.

See also:
forEachLine

Definition at line 31 of file IOStream.cc.

Referenced by forEachLine().

template<class _Function>
_Function& zypp::iostr::forEachLine ( std::istream &  str_r,
_Function &  consume_r 
) [inline]

Simple lineparser: Call functor consume_r for each line.

Parameters:
str_r The istream to read from.
consume_r A reference to a function or functor. The loop is aborted if the function returns false.
 bool consume( const std::string & )
 { ... }

 struct Consume : public std::unary_function<const std::string &, bool>
 {
   bool operator()( const std::string & line_r )
   { ... }
 };
Returns:
A reference to consume_r.
Todo:
Should be templated and specialized according to the functors return type, to allow void consumer.

Definition at line 137 of file IOStream.h.

References getline().

Referenced by zypp::locks::readLocks(), and zypp::VendorAttr::VendorAttr().


Generated on Tue Sep 25 19:23:20 2007 for libzypp by  doxygen 1.5.3