[serialization] class versioning with template classes
Hi all, has anyone ever used the versioning mechanism of the serialization library together with template classes? What I want to do is something like: class TemplateA { public: TemplateA(); public: ... //Serialization stuff private: friend class boost::serialization::access; template<class Archive> void save(Archive & ar, const unsigned int /*version*/) const { ar & boost::serialization::make_nvp("HighValue",m_high) & boost::serialization::make_nvp("NewData",m_newData); } template<class Archive> void load(Archive & ar, const unsigned int version) { ar & boost::serialization::make_nvp("HighValue",m_high); if (version > 0) { ar & boost::serialization::make_nvp("NewData",m_newData); } } BOOST_SERIALIZATION_SPLIT_MEMBER(); private: T m_high; T m_newData; }; // class TemplateA BOOST_CLASS_VERSION(TemplateA, 1); The above won't compile for sure, but I'm looking for a way to use the versioning without having to specialize it for each type T which I'm going to use this class with. Best regards Oliver Mutz
participants (1)
-
Oliver Mutz