|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2002-11-29 20:06:01
Matthias Troyer <troyer_at_[hidden]> writes:
>> So, while use of them may lead to a MORE portable C++ interface, they won't directly lead to a
>> portable binary serialization format (although you can clearly fix that problem in platform specific
>> byte reordering code).
>
> Agreed. It would just make the task of implementing a portable binary serialization easier, since we
> know the width of the types.
Why is that important? it's easy enough to detect the most significant
bit in an integer. We could just use a variable-length representation.
> However, we can also do the internal (private) implementation based on
> these types and dispatch from operator<<(int) to the appropriate function for serializing an integer
> with sizeof(int) bytes.
>
> In any case the library user should be reminded that short, int and
> long are never portable
Of course they are perfectly portable!
> but that by using int*_t and appropriate archive formats one can
> achieve portable serialization.
I think that's a terribly intrusive restriction to place on user code.
-- 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