
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