
Den 05-12-2012 10:09, Alexander Voitenko skrev:
ie a common interface with "pluggable" back-ends for various formats. Would that be possible? I think yes, but with some restrictions, because some formats have unique specific features that are not shared among another formats. What is the boost policy about depending on a third-party software? Of course, I do not want to reinvent the wheel and write yet another implementation of zlib library.
That's understandable, and should not be necessary. 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. As long as the library has one working imlementation that does not depend on 3rd party software, I don't think there'll be any problems. Boost.Locale already does this with ICU, which is required for certain feature/platform combinations, but the library can be used without ICU; it'll then not support the features that ICU provides. A similar approach should be possible with zlib in your case. Regards, Brian Riis