|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2005-11-28 09:37:58
Ian McCulloch <ianmcc_at_[hidden]> writes:
> Robert Ramey wrote:
>
> [...]
>
>> So the net effect is
>>
>> Everyone who want's to wrap his "arrays" in
>> boost::serialization::array is free to do so. Archive classes which
>> don't have special code for such arrays just pass it to the library
>> by default which eventually resolves to an item by item
>> serialization.
>>
>> Archives which have facilities suitable for handling arrays in a
>> special way can overload save_override(boost::serialization::array
>> ... and do thier thing.
>>
>> No currently existing archives need be changed.
>
> I like this a lot! Of course there are details to work out, but as
> far as I can tell everything that has been mentioned as a possible
> array-aware archive is possible within this framework. I will leave
> those details for Dave and Matthias, who I expect will also be excited
> about this development.
I agree; this sounds like a big step in the right direction for us.
It puts the hooks on which to hang array serialization where they need
to be -- within the serialization library -- in order to avoid having
a second, "semi-official" fast array serialization library interface.
AFAICT (although I still need to check with Matthias about this) it
will allow us to achieve everything we need for our MPI archives.
I also see that the proposed change is more in keeping with the spirit
of the serialization library and the separations that Robert is trying
to maintain. It's an impressively elegant solution.
It would be a shame, I think, if the library's own binary archives
weren't given a save_override for boost::serialization::array in order
to take advantage of the new functionality, but if it never happened,
that would be of no major importance to me personally.
I want to thank Robert for perservering through a discussion that, if
it was difficult for a few of those asking for change, must have been
ten times as difficult for Robert. Fielding requests from so many
different directions at once can never be easy. He has again shown
the tenacity and dedication I referred to in
http://lists.boost.org/Archives/boost/2005/11/96923.php. Thanks
again, Robert.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk