Subject: Re: [boost] Boost mpi, serialization and shared_ptr
From: Robert Ramey (ramey_at_[hidden])
Date: 2012-06-12 13:05:24


Max Moorkamp wrote:
>> /usr/local/include/boost/serialization/shared_ptr.hpp:155: error:
>> ‘class boost::mpi::packed_skeleton_iarchive’ has no member named
>> ‘reset’

Here is he key.

The serialization library has some special code to handle boosts
beloved shared_ptr. This special code is found in
boost/archive/shared_ptr_helper.hpp.

it is added in at the "last possible moment" via public inheritance.
see "boost\archive\binary_iarchive.hpp". This adds a special
function called "reset". It seems that MPI serialization doesn't
add in this functionality - hence the compile error.

So the fix would be tweak the MPI serialization implementation
to address this. It's not clear to me what this would entail.

Longer term - some day - would be to add the functionaliy
of a "generic helper" which any serialization implementation
could use to permit serialization of otherwise unserializable
classes.

Robert Ramey