
Hi Sebastien, Lots of questions spring to mind but I suspect that for most of them your response would be that this is a preview release. So just a bit of general feedback; * there seems to be a lot of work there, * a list of benefits/advantages of IOChain over existing io streams might be good? * some common usage examples might be good? i.e. configuration and/or application-specific "document" * is it possible to have runtime-selectable links in the IO chain? e.g. user selection of the encoding to be used. Cheers. ----- Original Message ----- From: "Sebastian Redl" <sebastian.redl@getdesigned.at> To: <boost@lists.boost.org> Sent: Saturday, December 01, 2007 12:43 PM Subject: [boost] [rfc] I/O Chain Library, Preview Release
Hi,
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: http://stud3.tuwien.ac.at/~e0226430/iochain-preview-1.tar.bz2 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 "realboost". E.g. 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: http://stud3.tuwien.ac.at/~e0226430/iochain/
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 streams). - 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
[1] http://lists.boost.org/Archives/boost/2007/06/123478.php
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost