Boost logo

Boost Users :

From: Hugh Hoover (hugh_at_[hidden])
Date: 2006-07-09 16:53:54


I have a structure I'm trying to serialize that contains an STL
vector of pointers to an abstract base type. When I serialize it,
the save_construct_data free function is NOT called - the inline
default version is always used. On de-serializing, the
load_construct_data IS called! but, of course, fails because the
data for it isn't there (although it throws archive_exception
(archive_exception::unregistered_class) when it fails).

I'm using declarations only for all serialization code, with all
definitions in .s.cpp files along with explicit instantiations. Not
sure if that affects the problem here.

Just in case, I've tried all combinations of save_construct_data with
(const)? (Base|Derived) (*|&), and none of them are called.
I've also tried putting my declarations before and after the
serialization.hpp header with the default declaration/definition.

I'm using gcc4 currently.

Any notion what might be wrong here?



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net