26 open(source, start, end);
40 clear((ios_iostate)0);
41 _buf.open(source,
nullptr, start, end,
false);
67 open(dest, start, end, append);
81 clear((ios_iostate)0);
82 _buf.open(
nullptr, dest, start, end, append);
108 open(nested, start, end, append);
120open(
StreamWrapper *nested, std::streampos start, std::streampos end,
bool append) {
121 clear((ios_iostate)0);
122 _buf.open(nested, nested, start, end, append);
This class provides a locking wrapper around an arbitrary istream pointer.
ISubStream & open(IStreamWrapper *source, std::streampos start, std::streampos end)
Starts the SubStream reading from the indicated source, with the first character being the character ...
ISubStream & close()
Resets the SubStream to empty, but does not actually close the source istream.
This class provides a locking wrapper around an arbitrary ostream pointer.
OSubStream & close()
Resets the SubStream to empty, but does not actually close the dest ostream.
OSubStream & open(OStreamWrapper *dest, std::streampos start, std::streampos end, bool append=false)
Starts the SubStream reading from the indicated dest, with the first character being the character at...
This class provides a locking wrapper around a combination ostream/istream pointer.
SubStream & close()
Resets the SubStream to empty, but does not actually close the nested ostream.
SubStream & open(StreamWrapper *nested, std::streampos start, std::streampos end, bool append=false)
Starts the SubStream reading and writing from the indicated nested stream, within the indicated range...