libzypp  17.23.8
zypp::iostr::EachLine Class Reference

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

#include <IOStream.h>

Inheritance diagram for zypp::iostr::EachLine:

Public Member Functions

 EachLine (std::istream &str_r, unsigned lineNo_r=0)
 Ctor taking a stream and reading the 1st line from it. More...
 
bool valid () const
 Whether this contains a valid line to consume. More...
 
 operator bool () const
 Evaluate class in a boolean context. More...
 
unsigned lineNo () const
 Return the current line number. More...
 
std::streamoff lineStart () const
 
void setLineNo (unsigned lineNo_r)
 Set current line number. More...
 
const std::string & operator* () const
 Access the current line. More...
 
std::string & operator* ()
 
const std::string * operator-> () const
 Access the current line. More...
 
bool next ()
 Advance to next line. More...
 
bool next (unsigned num_r)
 Advance num_r lines. More...
 

Private Attributes

std::istream & _str
 
std::string _line
 
std::streamoff _lineStart
 
unsigned _lineNo
 
bool _valid
 

Detailed Description

Simple lineparser: Traverse each line in a file.

std::ifstream infile( "somefile" );
for( iostr::EachLine in( infile ); in; in.next() )
{
DBG << *in << endl;
}

Definition at line 111 of file IOStream.h.

Constructor & Destructor Documentation

◆ EachLine()

zypp::iostr::EachLine::EachLine ( std::istream &  str_r,
unsigned  lineNo_r = 0 
)

Ctor taking a stream and reading the 1st line from it.

Definition at line 57 of file IOStream.cc.

Member Function Documentation

◆ valid()

bool zypp::iostr::EachLine::valid ( ) const
inline

Whether this contains a valid line to consume.

Definition at line 118 of file IOStream.h.

◆ operator bool()

zypp::iostr::EachLine::operator bool ( ) const
inlineexplicit

Evaluate class in a boolean context.

Definition at line 122 of file IOStream.h.

◆ lineNo()

unsigned zypp::iostr::EachLine::lineNo ( ) const
inline

Return the current line number.

Definition at line 126 of file IOStream.h.

◆ lineStart()

std::streamoff zypp::iostr::EachLine::lineStart ( ) const
inline

Definition at line 129 of file IOStream.h.

◆ setLineNo()

void zypp::iostr::EachLine::setLineNo ( unsigned  lineNo_r)
inline

Set current line number.

Definition at line 133 of file IOStream.h.

◆ operator*() [1/2]

const std::string& zypp::iostr::EachLine::operator* ( ) const
inline

Access the current line.

Definition at line 137 of file IOStream.h.

◆ operator*() [2/2]

std::string& zypp::iostr::EachLine::operator* ( )
inline

Definition at line 140 of file IOStream.h.

◆ operator->()

const std::string* zypp::iostr::EachLine::operator-> ( ) const
inline

Access the current line.

Definition at line 144 of file IOStream.h.

◆ next() [1/2]

bool zypp::iostr::EachLine::next ( )

Advance to next line.

Definition at line 71 of file IOStream.cc.

◆ next() [2/2]

bool zypp::iostr::EachLine::next ( unsigned  num_r)
inline

Advance num_r lines.

Definition at line 151 of file IOStream.h.

Member Data Documentation

◆ _str

std::istream& zypp::iostr::EachLine::_str
private

Definition at line 159 of file IOStream.h.

◆ _line

std::string zypp::iostr::EachLine::_line
private

Definition at line 160 of file IOStream.h.

◆ _lineStart

std::streamoff zypp::iostr::EachLine::_lineStart
private

Definition at line 161 of file IOStream.h.

◆ _lineNo

unsigned zypp::iostr::EachLine::_lineNo
private

Definition at line 162 of file IOStream.h.

◆ _valid

bool zypp::iostr::EachLine::_valid
private

Definition at line 163 of file IOStream.h.


The documentation for this class was generated from the following files:
DBG
#define DBG
Definition: Logger.h:78