# ISubStream¶

class ISubStream

Bases: istream

An istream object that presents a subwindow into another istream. The first character read from this stream will be the “start” character from the source istream; just before the file pointer reaches the “end” character, eof is returned.

The source stream must be one that we can randomly seek within. The resulting ISubStream will also support arbitrary seeks.

Inheritance diagram

ISubStream(void)
explicit ISubStream(IStreamWrapper *source, std::streamoff start, std::streamoff end)
ISubStream &close(void)

Resets the SubStream to empty, but does not actually close the source istream.

ISubStream &open(IStreamWrapper *source, std::streamoff start, std::streamoff end)

Starts the SubStream reading from the indicated source, with the first character being the character at position “start” within the source, for end - start total characters. The character at “end” within the source will never be read; this will appear to be EOF.

If end is zero, it indicates that the ISubStream will continue until the end of the source stream.