Boost logo

Boost :

From: Brian Braatz (brianb_at_[hidden])
Date: 2004-05-03 18:50:50


""""""""""
> Now, as you rightly point out, CDR does provide for efficient binary
> representation of C++ primitive types. I can see that some people
> might prefer to use CDR as an on-wire format for communication between

> equivalent systems, so this certainly is a candidate for complete C++
coverage.
>
> This is complicated, however. If you were to allow full C++
> serialization into a CDR archive, the result would be portable but not

> conformant to any standard or protocol, since it relied on the
> serialization library's object serialization method. Only another
> user of the serialization library could recover the serialized data.

Unless I'm mistaken you will have achieved a cross-platform (eg:
big-endian, little-endian compatible) efficient binary format for the
case where you do indeed have mirror serialization code on both sides.
To me that's a huge win.
 I can write to binary files or across a socket to any platform and as
long as I deserialize using the same code it should work. I don't
believe the other binary (maybe the text) archives can claim that. I
think there is one more restriction on the C++ code, however. Types
would have to be coded with 'portable' types (eg: boost::uint_16,
boost::uint_32, etc). But anyone doing cross-platform development
already does that, right ;-)
""""""""""''

Question- I was just looking for clarification. Does the boost
serialization library allow me to have objects on different platforms
stream to each other?

To put it another way is the guess here correct?

" Unless I'm mistaken you will have achieved a cross-platform (eg:
big-endian, little-endian compatible) efficient binary format for the
case where you do indeed have mirror serialization code on both sides.
To me that's a huge win."

Thanks


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