Binary serialization

From Code Synthesis Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 10:09, 14 February 2011
Erik Sjölund (Talk | contribs)

← Previous diff
Revision as of 10:12, 14 February 2011
Erik Sjölund (Talk | contribs)

Next diff →
Line 32: Line 32:
Serializing a Codesynthesis XSD data object can yield different file sizes for the different binary formats. Serializing a Codesynthesis XSD data object can yield different file sizes for the different binary formats.
-The xml schema type int8 takes up 32 bits in the XDR format but only 8 bit in the CDR and the QDataStream format (tested on a Ubuntu Linux 10.10 32-bit computer).+The xml schema datatype int8 takes up 32 bits in the XDR format but only 8 bit in the CDR and the QDataStream format (tested on a Ubuntu Linux 10.10 32-bit computer).

Revision as of 10:12, 14 February 2011

The C++/Tree Mapping User Manual has a section about binary serialization.

Contents

Predefined binary formats

CDR (Common Data Representation)

The ADAPTIVE Communication Environment (ACE) provides a binary format. The extraction and insertion classes are described in the doxygen generated documentation.

There is an example of using CDR in examples/cxx/tree/binary/cdr

XDR (eXternal Data Representation)

Wikipedia entry

There is an example of using XDR in examples/cxx/tree/binary/xdr

Custom binary formats

Boost serialization library

The Boost C++ libraries provides a serialization library.

There is an example of using Boost serialization in examples/cxx/tree/binary/boost

QDataStream

Comparison of the binary formats

Serializing a Codesynthesis XSD data object can yield different file sizes for the different binary formats. The xml schema datatype int8 takes up 32 bits in the XDR format but only 8 bit in the CDR and the QDataStream format (tested on a Ubuntu Linux 10.10 32-bit computer).

Personal tools