Boost logo

Boost Users :

From: Mark Schlegel (moschleg_at_[hidden])
Date: 2008-02-18 12:31:08


Boost User list:

I have a question about boost::serialization and portability. When I read in the overview for this feature at
http://www.boost.org/libs/serialization/doc/overview.html

point 7 states that "Data Portability - Streams of bytes created on one platform should be readable on any other".

I'm trying to clear up how far portability goes.

I've tested serialization on two different hardware
platforms (Intel Linux with Boost 1.34.1 and Sparc Solaris with Boost 1.33.1) which have different endians.
The archiving writes and reads fine as long as
the reading is done on the newer or equal version of Boost. Basically I wrote a serialization file with
boost::archive::text_oarchive on the Solaris
box and ftped the file to the Linux host and
read it in fine. But going the other way (1.34.1 ->
1.33.1) aborted which is understandable because a
archive version level change (3 vs 4) existed between those.
So is readability assured by serialization as
long as you're going from an older or equal
version of boost? We can handle our maintaining
the very latest boost version in our code and
customers would send us their archives for
testing and they'd either have the same or older
version of boost in their copy. Their code would
never be newer than ours. If this is
obeyed will their archives always be readable
by our code?

Mark


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