Boost logo

Boost Users :

From: Cliff Green (cliffg_at_[hidden])
Date: 2007-06-26 18:57:51


> Probably answered before, but I wondered whether there
>is a standard
> implementation for portable binary archives available.

I'm not quite sure what you mean by "standard
implementation" - there are a number of commonly used
portable binary approaches or standards. For example, XDR
(IETF standard) has been around for quite a while:

http://tools.ietf.org/rfc/rfc4506.txt

as well as SDXF (not sure how much it is used):

http://tools.ietf.org/rfc/rfc3072.txt

There's CDR, used in CORBA and other libraries or
frameworks where interoperability is needed:

http://en.wikipedia.org/wiki/Common_Data_Representation

I'm sure there's a gaggle of home-grown approaches (I've
written some myself) as well as other industry standard
approaches.

If you're talking about portable binary archives for
Boost.Serialization, there's been talk, but I'm not sure
what the status is - anyone have an implementation? I'd be
willing to help / work with someone on it.

Beman submitted a nice set of utilities for endian
handling, which could be used (something I've also written
many times in the past, although not quite as
comprehensive as Beman's).

Integral byte swapping is pretty straight forward, but
floating point is not - besides the obvious representation
issues (e.g. IEEE 754 or not), there's some non-obvious
issues dealing with floating point normalization and
special values (infinity, etc). For example, I wrote one
template function which returned (by value) byte swapped
entities, but found it would silently change floating
point values depending on the value, platform, compiler
version, register usage, etc. Turns out normalization
would occur on the "by value" return, changing bits in the
byte swapped floating point number.

What use cases and constraints do you envision? There's
lots of tradeoffs and design choices already discussed in
previous Boost threads. Personally I think portably binary
archiving through Boost.Serialization is long overdue.

Cliff


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net