Stream oriented I/O
There are several stream type classes in the library, providing multiple kinds of memory streams, and stream classes that works with files, pipes, and serial ports.
The stream type classes satisfies one, or more, of the I/O concepts
MemoryStream
MemoryStream
objects are streams stored in a sequential block of memory
managed by the MemoryStream
objects. This block will grow as needed
when data is written to the stream.
BufferStream
BufferStream
provides a stream implementation that works with data
that is already allocated elsewhere in the app.
Blocks::Stream
Blocks::Stream
is another memory stream that manages its own memory.
Blocks::Stream
stores data in a doubly linked list of 32 Kb chunks
of memory.
IStreamStream
Wraps a COM IStream
interface as a stream.
IStreamMemoryStream
IStreamMemoryStream
is derived from IStreamStream
, using the IStream
interface
created by CreateStreamOnHGlobal
.
SystemStream
SystemStream
is a template class inherited by FileStream
, Pipe
and CommDeviceStream
.
AttachedSystemStream
FileStream
FileStream
implements a stream for file I/O.
Pipe
Pipe
implements a stream for pipe I/O.
CommDeviceStream
CommDeviceStream
implements a stream for serial device I/O.
IStreamOnStreamImpl
The IStreamOnStreamImpl
template exposes a stream to COM by implementing IStream
using the standard member functions