
"Peter Dimov" <pdimov@mmltd.net> 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
http://lists.boost.org/Archives/boost/2005/11/97058.php
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