Evo C++ Library v0.5.1
I/O Streams

Evo supports various types of I/O streams:

Note: Streams use synchronous I/O – see also: Asynchronous I/O

Base class for all stream exceptions: ExceptionStream

Features include:

Streams inherit from Stream (read/write), StreamIn (read-only), or StreamOut (write-only). Note that a Stream (read/write) may be opened in read-only or write-only mode.

dot_inline_dotgraph_1.png
Note: Implementation detail classes above are grayed and are not normally instantiated directly
Implementation Detail

A Stream (or StreamIn or StreamOut) type is coupled (via template param) with a type implementing IoDevice (IoFile, IoSocket), which handles the low-level device I/O.

dot_inline_dotgraph_2.png

IoReader, IoWriter, and IoFilterChain use RawBuffer for low-level memory buffers.