Library: Foundation
Package: Streams
Header: Poco/CountingStream.h
Description
The base class for CountingInputStream and CountingOutputStream.
This class is needed to ensure the correct initialization order of the stream buffer and base classes.
Inheritance
Direct Base Classes: std::ios
All Base Classes: std::ios
Known Derived Classes: CountingInputStream, CountingOutputStream
Member Summary
Member Functions: chars, getCurrentLineNumber, lines, pos, rdbuf, reset, setCurrentLineNumber
Constructors
CountingIOS
CountingIOS();
Creates the basic stream and leaves it unconnected.
CountingIOS
CountingIOS(
std::istream & istr
);
Creates the basic stream and connects it to the given input stream.
CountingIOS
CountingIOS(
std::ostream & ostr
);
Creates the basic stream and connects it to the given output stream.
Destructor
~CountingIOS
~CountingIOS();
Destroys the stream.
Member Functions
chars
int chars() const;
Returns the total number of characters.
getCurrentLineNumber
int getCurrentLineNumber() const;
Returns the current line number (same as lines()).
lines
int lines() const;
Returns the total number of lines.
pos
int pos() const;
Returns the number of characters on the current line.
rdbuf
CountingStreamBuf * rdbuf();
Returns a pointer to the underlying streambuf.
reset
void reset();
Resets all counters.
setCurrentLineNumber
void setCurrentLineNumber(
int line
);
Sets the current line number.
This is mainly useful when parsing C/C++ preprocessed source code containing #line directives.
Variables
_buf
CountingStreamBuf _buf;