From: Jonathan Turkanis (technews_at_[hidden])
Date: 2003-11-28 14:35:26
The new version of my iostreams library can be found at
The library serves two purposes:
- To allow the easy creation of standard C++ stream and stream buffer
classes for new data sources and sinks.
- To provide a convenient interface for defining i/o filters, linking
them together, and attaching them to standard streams and stream buffers.
(See usage examples below.)
As examples of real-world applications, I have included filters based on
Boost.Regex and Jean-loup Gailly's and Mark Adler's zlib compression
The library supports streams for input only, output only and
random-access, as well as double-streams with separate input and output
sequences as in TCP.
It also comes with a collection of adaptors and object generators to
facilitate interaction with the STL.
The library has complete documentation, including a tutorial and
rationale, as well as example programs and a test program. It has been
tested on 12 compiler/standard library combinations on Windows and
Linux. It now works on VC6, with some caveats.
The library shares the namespace boost::io with the i/o state-savers
library and with some functions from Boost.Format.
/* Write compressed data to standard output */
/* Read from standard input with 'top' replaced by 'bottom' */
/* Read from a vector */
filtered_istream in(make_source(v.begin(), v.end()));
I look forward to suggestions and criticism.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk