
I'd suggest trying to define a clean boundary between the interface and the implementation. You already have one back-end that makes the entire package usable. Adding another backend later, or as an option, that supports zlib/bzip2/whatever compression should be easier then.
I agree with your thoughts, Brian. To be sure that this point was achieved, I must investigate such possibility well and implement at least one more back-end. For now I have several questions about integration with boost. 1) Compound files use utf-16 encoding for names and I use third party library for conversions utf-8 <-> utf-16 http://utfcpp.sourceforge.net/ But looks like that Boost.Locale can be used as replacement. Is it? 2) I like TDD and automated tests, so implemented lot of them(for now about 7000 lines and plan add more). But most of my tests are not unit tests, but integration test. For such software, testing in terms of usage scenarios is better I think. As result, I have bunch of test data files which have size about 100mb. Of course it is unacceptable to provide all this stuff within the boost distribution. Is it possible to split tests? Module tests can be included in boost distribution that available to the end user, and integration test leave in repository and use only in nightly builds or whatever you have there. 3) Compound files use red-black tree as format feature. And to deal with compound files correctly, I need to access such low level data of a red-black tree as color of a node. I searched on the Internet for a free C++ library that allow to access all the data within a tree but not found any which is well-tested, so decided to make my own implementation using TDD approach. It was developed according to this book: http://www.amazon.com/Introduction-Algorithms-Includes-CD-Rom-Thomas/dp/0072... With my tiny modifications. ]:) Is it any interest for binary and red-black tree implementations as separate component? Or... the boost already have such facilities and I waste my time by reinventing one more wheel? :-) 4) For integral types I use defines from <stdint.h> is it acceptable? Or should I switch to similar types from the boost library? Regards, Alexander. -- View this message in context: http://boost.2283326.n4.nabble.com/compond-file-binary-Gauging-interest-in-a... Sent from the Boost - Dev mailing list archive at Nabble.com.