Rutger ter Borg wrote: [snip]
Any suggestions on how to approach this?
Sorry to be replying to myself, but being a couple of hours further down the road, I think I made little progress. I thought I could approach the serialization of a polymorphic singleton basically by saving its (polymorphic) pointer, and loading it back by overloading the load_construct data and assign the singleton object there. Unfortunately, I am dealing with an abstract base class (error_category) which is declared in boost/system/error_code.hpp. The definition and implementation of error_category singleton objects are not visible in the header files of the Boost.System library; it resides in the binary library file only. Which leaves me with an unregistered class. I'm unable to register it (because I can not access its definition), I tried to use forward declarations and export those, but that didn't work, too. I tried to export the base and derived relationship, without success, too. My next step would be to bypass serialization facilities and implement something like below save( ... ) { ar << category.name(); } load( ... ) { std::string name; ar >> name; if ( name == ... ) { } } Is there a way to register type information that is not seen yet by the serialization library (i.e., it will be linked in)? Is there a way to export classes that reside in a DLL? Thanks in advance, Kind regards, Rutger ter Borg