From: Stefan Seefeld (seefeld_at_[hidden])
Date: 2007-07-10 13:43:07
Michael Marcin wrote:
> 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
I don't follow that argument. Minimizing overhead doesn't mean I try to
keep as close as possible to the libxml2 API, but instead, I allow for
enough latitude in the spec to adjust to backend-specific handling.
That appears to be a common theme in standardization: Be specific enough
to be actually useful for end-users, and flexible enough to make implementers
>> 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.
That's a fair point. I'm not saying the API actually is implementation agnostic.
But I try to. I would certainly appreciate if others tried to provide alternative
bindings, so we can compare. May be it's a little early to do that, though.
-- ...ich hab' noch einen Koffer in Berlin...
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk