
Stefan Seefeld wrote:
Phil Endecott wrote:
Aiming for the minimum overhead in your libxml2 wrapper is a valid objective. But perhaps in that case you should be selling this as a "C++ wrapper for libxml2", not as a "Boost XML library"? I would have thought that a largely backend-independent (or self-contained) library with STL-like interface would be more "Boost-compatible".
What about my proposed interface is libxml2-specific, prompting you to call it a 'libxml2 wrapper' ?
If you are designing the interface to minimize overhead using a libxml2 backend then it will likely incur undue overhead using some other backend and thus make the library essentially viable only with a libxml2 backend.
Making the wrapper as thin as possible, yet making the API itself backend-agnostic (and thus allow it to be reimplemented with other backends) is part of the balance I was talking about, too.
In my experience until I actually have 2 or more dissimilar backends implemented the interface is not implementation agnostic. If that is truly a goal of this library (and I'm not convinced it needs to be) then it should actually be exercised. - Michael Marcin