MM wrote:
-----Original Message----- ...
Hello Matthias, Robert Ramey, I am revisiting the topic of mpi broadcast-receiving a polymorphic object through a base class null pointer:
void recv_histodata(boost::mpi::communicator& world) { historical_data_base* hd = nullptr; boost::mpi::broadcast(world, hd, master_process); } historical_data_base has 3 derived classes.
I get the unregistered class exception from the serialization library, and so I am trying to register the derived type as shown in the serialization doc at /libs/serialization/doc/index.html : reference
ar.template register_type
(); but where do I put that?
invoke that any time after the archive is created but before the
"derived_one" is serialized.
make sure you do it in the same place on saving an loading. I believe the
following would work.
binary_oarchive oa(...)
oa.template register_type
Regards,
MM