"Peter Dimov" <[EMAIL PROTECTED]> writes: > From: "David Abrahams" <[EMAIL PROTECTED]> > [...] >> * Is it important to allow all UDTs to be separately versioned? > > Yes, IMO. > >> Every time I have implemented serialization and started with such >> a system, I eventually dropped it in favor of a whole-archive >> version number. > > FWIW, I just went from a per-archive to per-class versioning. Per-archive > versioning works well for projects where you control the classes being > serialized. When you mix third-party classes lib1::X and lib2::Y, getting > the two libraries to agree on a common versioning scheme is impossible; > therefore, a standard serialization library has to support at least > per-class versioning. > >> Two areas that spring to mind are pointer comparisons outside a >> single array for unserializing internal object pointers, and the >> use of type_info::name() for type identification. > > Using type_info::name() means that when you recompile your program with > another compiler, or a newer version of the same compiler, it might no > longer be able to read its files.
Peter, please take this to the boost-serialize list: https://lists.sourceforge.net/lists/listinfo/boost-serialize. Thanks, Dave -- David Abrahams [EMAIL PROTECTED] * http://www.boost-consulting.com Boost support, enhancements, training, and commercial distribution _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost