22 ISubStream() : istream(&_buf) {
31 ISubStream(
IStreamWrapper *source, streampos start, streampos end) : istream(&_buf) {
32 open(source, start, end);
50 clear((ios_iostate)0);
51 _buf.open(source, NULL, start, end,
false);
73 OSubStream() : ostream(&_buf) {
82 OSubStream(
OStreamWrapper *dest, streampos start, streampos end,
bool append) : ostream(&_buf) {
83 open(dest, start, end, append);
101 clear((ios_iostate)0);
102 _buf.open(NULL, dest, start, end, append);
124 SubStream() : iostream(&_buf) {
133 SubStream(
StreamWrapper *nested, streampos start, streampos end,
bool append) : iostream(&_buf) {
134 open(nested, start, end, append);
149 clear((ios_iostate)0);
150 _buf.open(nested, nested, start, end, append);
ISubStream & open(IStreamWrapper *source, streampos start, streampos end)
Starts the SubStream reading from the indicated source, with the first character being the character ...
OSubStream & open(OStreamWrapper *dest, streampos start, 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.
OSubStream & close()
Resets the SubStream to empty, but does not actually close the dest ostream.
SubStream & open(StreamWrapper *nested, streampos start, streampos end, bool append=false)
Starts the SubStream reading and writing from the indicated nested stream, within the indicated range...
An istream object that presents a subwindow into another istream.
This class provides a locking wrapper around an arbitrary istream pointer.
ISubStream & close()
Resets the SubStream to empty, but does not actually close the source istream.
SubStream & close()
Resets the SubStream to empty, but does not actually close the nested ostream.
An ostream object that presents a subwindow into another ostream.
This class provides a locking wrapper around an arbitrary ostream pointer.
Combined ISubStream and OSubStream for bidirectional I/O.