[rfc] I/O Chain Library, Preview Release 2

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/... 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
participants (1)
-
Sebastian Redl