Hello,

      we are currently implementing serialization versioning using boost and I am curious to know if their is a way to support a changing class hierarchy. Let's say C derives from A for a while and then a change requires C to derive from B instead, which derives from A. Is it possible to support such a change provided we know what default values are needed for the new class? I tried and even if don't serialize anything in class C I get stream errors because I believe boost saves some base info for each class. When it tries to reload those value from a old stream, obviously it desynchronizes it because the values are not in the stream. So is their a way around this?

Also is it possible to support the removal of a class. If, for exemple C derives from B which in turn derives from A and suddenly B is removed. Is their a way to deal with this without invalidating all previously saved data?

Thank you for your help!

--
Frédérick Martel-Lupien
Étudiant en Génie Informatique
Université de Sherbrooke
fred.lupien@gmail.com