Boost logo

Boost :

From: Sebastian Redl (sebastian.redl_at_[hidden])
Date: 2008-02-04 09:23:22


Hi,

I'm proud to announce preview release 2 of my I/O Chain library.

Preview 1 was announced here:
http://lists.boost.org/Archives/boost/2007/11/131079.php

IOChains is a component-based I/O library similar to Boost.Iostreams,
but built from scratch instead of being based on the C++ iostreams
interface. It currently supports binary I/O of primitives only, but will
be extended to cover text, too. It is built to be type-safe and fast.

The main changes since Preview 1 are:

Most importantly: The archive actually contains the code. :-)

1) Tested under Visual C++.Net 2003, i.e. VC++ 7.1.
2) Endian conversion is now supported.
3) Supports reading and writing fixed-point numbers.
4) Supports reading and writing stdin, stdout and stderr. (Not Win32,
yet.) This also demonstrates the utility of the command interface.
5) A bit-level access pseudo-component was added.
6) A rationale section was added to the documentation.
7) A few example programs were added. (Not tested in Win32, but except
for the password reader, they should work.)

The code can be found at:
http://stud3.tuwien.ac.at/~e0226430/iochain-preview-2.tar.bz2
<http://stud3.tuwien.ac.at/%7Ee0226430/iochain-preview-1.tar.bz2>

The installation is still not trivial. Boost doesn't appear very suited
to develop new libraries outside the tree, it seems.
1) Unpack the archive.
2) Make boost-build.jam point to your trunk Boost.Build, or delete the
file if you already have a boost-build.jam in place.
3) Edit Jamroot: set the constant REALBOOST at the very top to point to
your trunk Boost.
4) If you want to use the zlib component, add an entry to your
user-config.jam for zlib. On Linux, this should be as trivial as
lib zlib : : <name>z ;
On Win32, it might look like this:
lib zlib : : <file>"c:/path/to/zlib/zlib1.lib" : :
<include>"c:/path/to/zlib" ;

The documentation doesn't build due to some problems I have with
Boost.Build. A pre-built version can be found here:
http://stud3.tuwien.ac.at/~e0226430/iochain/

If you want to build the docs yourself, remove the <tag> requirement
from Jamroot.

A note about Visual C++: newer compilers than 7.1 should work, unless
they exhibit this bug:
http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/8559a42e1cc9710e#2305a73790c57078
If they do, you need to grep the source for BOOST_WORKAROUND and adjust
the version number. Oh, and let me know.
Older versions will most definitely not work.

Minor new features:
1) The content of an erasure can change.
2) Bug fixes.
3) Minor refactorings.
4) Best practice: all public implementation classes now have protected
destructors.

Have fun, and please tell me what you think.

Sebastian Redl


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk