Boost logo

Boost :

From: Sebastian Redl (sebastian.redl_at_[hidden])
Date: 2007-11-30 18:43:33


Back in June I posted some thoughts about what I'd expect from a
properly done I/O library.[1] Based on the ensuing discussion I then
designed such a library. Over the last months, I've worked hard at
implementing the thing.

It is with quite a bit of pride, then, that I announce the IOChain
preview release 1.

You can get the source here:
There are currently some assumptions in the build files that require a
tiny bit of setup.
1) Unpack the source into some directory.
2) Grab the latest Boost trunk.
3) In the unpacked source, make a symlink to the Boost trunk called
tar -xjf iochain-preview-1.tar.bz2
cd iochain
ln -s /path/to/boost/trunk realboost
4) Add zlib to your user config. If you have zlib where it is easily
found, this is as easy as adding this line to ${HOME}/user-config.jam:
lib zlib : : <name>z ;

I'm sorry for the inconvenience.

Documentation is in quickbook format. A generated version is available here:

This is a preview release. Its only purpose is to get comments. It has
not seen widespread compiler testing yet (only GCC 4.1 on a 64-bit
Linux). Features implemented so far:
- The infrastructure.
- File I/O (POSIX only - a Win32 implementation exists, but hasn't seen
a compiler yet, so don't expect it to compile, much less work)
- In-memory I/O (fixed buffers and std::vector).
- Read-ahead and write-collect buffers (like buffering in the current
- Various tools to support backtracking.
- Combining bytes into larger types. (Only naive methods currently.)
- On-the-fly CRC calculation.
- On-the-fly zlib compression.

The ultimate goal of the library is to completely replace iostreams.

All discussion, suggestions, and criticisms are welcome.

Sebastian Redl


Boost list run by bdawes at, gregod at, cpdaniel at, john at