From: David Abrahams (dave_at_[hidden])
Date: 2005-11-24 10:44:22
"Peter Dimov" <pdimov_at_[hidden]> writes:
> David Abrahams wrote:
>> If your proposal handles some cases just as well as Matthias'
>> proposal, it's no coincidence: those proposals have crucial elements
>> in common. However, the elements those two proposals have in common
>> are the same ones that raised the strongest objections from Robert, so
>> we're trying to examine a less intrusive design for now.
> Perhaps Robert can state for himself whether he considers
> unacceptable, and why. It is a very localized change. (Contiguous sequences
> with non-pointer iterators such as std::vector and std::string would also
> need to be touched slightly by manually inlining save_collection in their
> respective save overloads, but this is also minor; or alternatively, we can
> define boost::pbegin and use that in save_collection.)
Yes, it is a localized change. So were the changes in Matthias'
original proposal, believe it or not. The particular set of changes
you're proposing IMO makes it unnecessarily difficult for archive
authors, and I'd prefer to see something that makes it a bit easier by
factoring out common dispatching for optimizable archive/element
combinations, but Robert has already indicated that making it easy for
archive authors is not a high priority for him.
To be fair, I haven't done the analysis: are you sure your approach
doesn't lead to an MxN problem (for M archives and N types that need
to be serialized)?
-- 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