
I had tried putting 'const' in the save function header. The code compilation fails with "boost::STATIC_ASSERTION_FAILURE<x>" at the "save_override" function in "basic_xml_oarchive.hpp". I tried "BOOST_SERIALIZATION_BASE_OBJECT_NVP(obj)" and "boost::serialization::base_object< <base<T> >(obj)" and I am not able to compile the source code. Base object serialization macros are not able to deduce the template argument list. Pyush On 9/26/05, Pyush Agrawal <pyush.agrawal@gmail.com> wrote:
Hi, I am relatively a new to Boost serialization classes. I am trying to serialize a derived template class.
template<class T> class base {}; tempate<class T> class derived : public base<T> {};
I am trying to serialize 'derived' and have tried many different things. I am unable to serialize the inherited template classes. For some reason the code calls (1) 'derived::Serialize' (2) 'base::Save' and never executes 'derived:: Save' and doesnot serialize the 'derived' object properly.
I am attaching the source code (SerializeTemplates.cpp) and the output( output.txt) of the program. I am using MSVC7.1, debug mode, Boost 1.33, Spirit 1.8 It will be great, if somebody could point out what I am doing wrong. Thanks, Pyush