$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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 
> backend.
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
happy.
>> 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.
Regards,
                Stefan
-- 
      ...ich hab' noch einen Koffer in Berlin...