LineStream

class LineStream

Bases: ostream

This is a special ostream that writes to a memory buffer, like ostrstream. However, its contents can be continuously extracted as a sequence of lines of text.

Unlike ostrstream, which can only be extracted from once (and then the buffer freezes and it can no longer be written to), the LineStream is not otherwise affected when a line of text is extracted. More text can still be written to it and continuously extracted.

Inheritance diagram

Inheritance diagram of LineStream

LineStream(void)
std::string get_line(void)

Extracts and returns the next line (or partial line) of text available in the LineStream object. Once the line has been extracted, you may call has_newline() to determine whether or not there was an explicit newline character written following this line.

bool has_newline(void) const

Returns true if the line of text most recently returned by get_line() was written out with a terminating newline, or false if a newline character has not yet been written to the LineStream.

bool is_text_available(void) const

Returns true if there is at least one line of text (or even a partial line) available in the LineStream object. If this returns true, the line may then be retrieved via get_line().