MD::StringListStream Class

template <typename Trait> class MD::StringListStream

Wrapper for typename Trait::StringList to be behaved like a stream. More...

Header: #include <md4qt/parser.h>
CMake: find_package(md4qt REQUIRED COMPONENTS md4qt)
target_link_libraries(mytarget PRIVATE md4qt::md4qt)

Public Functions

bool atEnd() const
long long currentLineNumber() const
long long currentStreamPos() const
typename Trait::InternalString lineAt(long long pos)
std::pair<typename Trait::InternalString, bool> readLine()
void setLineNumber(long long lineNumber)
void setStreamPos(long long lineNumber)
long long size() const

Detailed Description

This is actual stream of lines that parser works internally with.

Member Function Documentation

bool StringListStream::atEnd() const

Returns whether this stream at end.

long long StringListStream::currentLineNumber() const

Returns current virgin line number.

long long StringListStream::currentStreamPos() const

Returns current local line number. Lines numbering starts at 0.

typename Trait::InternalString StringListStream::lineAt(long long pos)

Returns line's string at local position.

pos Local position.

std::pair<typename Trait::InternalString, bool> StringListStream::readLine()

Returns current line from stream.

The second parameter of returned pair is a flag informs that this line may break block forming a list.

void StringListStream::setLineNumber(long long lineNumber)

Set current line to line with a given virgin line number.

lineNumber Virgin line number.

Warning: This method doesn't do any checks.

void StringListStream::setStreamPos(long long lineNumber)

Set current line to line with a given local line number.

lineNumber Local line number.

Warning: This method doesn't do any checks.

long long StringListStream::size() const

Returns count of lines in this stream.