
On 25 Jul 2010, at 10:28, Robert Ramey wrote:
Matthias Troyer wrote:
Then please demonstrate how to implement an archive that actually does anything sensible and supports pointers, etc. without depending on what you call implementation details. The only way is implementing all the functionality from scratch.
Here's what to do:
a) derive from common archive instead of binary_archive.
I have one more question in addition to my previous comment: common_oarchive is in namespace archive::detail while basic_binary_oarchive is in the top namespace archive. Do I understand you correctly that deriving from archive::detail::common_oarchive is safe and not considered depending on implementation details, while deriving from archive::basic_binary_oarchive is not? I can easily change all the Boost.MPI archives to use archive::detail::common_oarchive where they now use archive::basic_binary_oarchive (although this will not solve the issue we have right now). Matthias