Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-12-10 09:32:53


"Peter Dimov" <pdimov_at_[hidden]> writes:

> From: "David Abrahams" <dave_at_[hidden]>
> [...]
>> * 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
   dave_at_[hidden] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk