Boost logo

Boost :

Subject: Re: [boost] [Serialization]#3118 basic_binary_oarchive.hpp -save_override possible loss of data warnings
From: Robert Ramey (ramey_at_[hidden])
Date: 2009-06-03 21:37:21


David Abrahams wrote:
> on Mon Jun 01 2009, "Robert Ramey" <ramey-AT-rrsd.com> wrote:
>
>>> there is still a possibility of a silent loss of data.
>>
>> This would only be an issue in following cases:
>>
>> a) A class has more than 255 backward compatible versions.
>> b) An archive has more than 64K different classes in it.
>>
>> It is currently inconcievable to me that such a program
>> would ever be written. Setting the sizes of these
>> types to larger values would make every single binary
>> archive bigger and slower.
>
> a. Don't underestimate the potential of systems that generate code
> to... generate code ;-), including new versions of a class
>
> b. There are variable-length number formats that would allow you to
> avoid a size increase while still accomodating arbitrarily large
> version numbers.

This is only an issue for binary archives which are designed
for speed at the expense of portability. Text base archives use
strings for numbers and hence handle arbitrary length numbers
in a portable way. The portable binary archive also uses a variable
length encoding for all integers.

Robert Ramey


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