Poco

class CountingStreamBuf

Library: Foundation
Package: Streams
Header: Poco/CountingStream.h

Description

This stream buffer counts all characters and lines going through it.

Inheritance

Direct Base Classes: UnbufferedStreamBuf

All Base Classes: UnbufferedStreamBuf

Member Summary

Member Functions: chars, getCurrentLineNumber, lines, pos, readFromDevice, reset, setCurrentLineNumber, writeToDevice

Constructors

CountingStreamBuf

CountingStreamBuf();

Creates an unconnected CountingStreamBuf.

CountingStreamBuf

CountingStreamBuf(
    std::istream & istr
);

Creates the CountingStreamBuf and connects it to the given input stream.

CountingStreamBuf

CountingStreamBuf(
    std::ostream & ostr
);

Creates the CountingStreamBuf and connects it to the given output stream.

Destructor

~CountingStreamBuf

~CountingStreamBuf();

Destroys the CountingStream.

Member Functions

chars inline

int chars() const;

Returns the total number of characters.

getCurrentLineNumber inline

int getCurrentLineNumber() const;

Returns the current line number (same as lines()).

lines inline

int lines() const;

Returns the total number of lines.

pos inline

int pos() const;

Returns the number of characters on the current line.

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.

readFromDevice protected

int readFromDevice();

writeToDevice protected

int writeToDevice(
    char c
);