On 7 December 2010 09:23, Troy Straszheim wrote: > On Mon, Dec 6, 2010 at 4:05 PM, Piotr Trojanek > wrote: > > Yes, I have tested the archive with std::vector and it simply works. > > > > I guess it works also for any collection, which is supported by > > Boost::serialization framework. > > The magic is in the header, not in the > > archive itself. > > > > For any primitive type always the same xdr_* function is called, so (by > the > > design of XDR) > > it does not matter if the caller is 32 or 64 bit (nor if little/big > endian). > > > > Interesting. collection_size_type is std::size_t: > > BOOST_STRONG_TYPEDEF(std::size_t, collection_size_type) > > and in some implementations std::size_t is 'unsigned long'. If you > then use this implementation on two platforms where > 'unsigned long' have different sizes, you will get incompatible > archives. In my experience with portable binary archives (we are > going way back to boost 1.32), it was necessary to choose a size (e.g. > handle collection_size_type explicitly and cast to uint64_t, for > example). > > Cool archive, in any event. boost::serialization is incredibly useful > stuff. > > -t > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > Was talking to a group today who've also used boost::serialization under the hood. Was wondering though - we did a test with binary archives of a large ekf matrix a while ago (file dump on arm -> load on intel) and failed. Found out later this was obscurely documented: http://beta.boost.org/doc/libs/1_45_0/libs/serialization/doc/archives.html#archive_models(in the code snippet comment '// non-portable binary archive'). Does this effect boost based messaging systems? Cheers, Daniel. -- Phone : +82-10-5400-3296 (010-5400-3296) Home: http://snorriheim.dnsdojo.com/ Yujin Robot: http://www.yujinrobot.com/ Embedded Ros : http://www.ros.org/wiki/eros Embedded Control Libraries: http://snorriheim.dnsdojo.com/redmine/wiki/ecl