streambuf Layer
The istream and ostream classes are meant to handle
conversion between objects in your program and their textual representation.
By contrast, the underlying streambuf class is for transferring
raw bytes between your program, and input sources or output sinks.
Different streambuf subclasses connect to different kinds of
sources and sinks.
The GNU implementation of streambuf is still evolving; we
describe only some of the highlights.