|
Boost : |
Subject: Re: [boost] [Review] Boost.Endian mini-review
From: Nevin Liber (nevin_at_[hidden])
Date: 2015-01-23 14:26:17
Is the library ready to be added to Boost releases?
YES!
On 23 January 2015 at 11:47, Peter Dimov <lists_at_[hidden]> wrote:
Instead, in the function read(h), I do this (pseudocode):
>
> read( header& h )
> {
> unsigned char data[ 14 ];
> fread data from file;
>
> read_32_lsb( h.code, data + 0 );
> read_32_lsb( h.length, data + 4 );
> read_16_msb( h.version, data + 8 );
> read_32_lsb( h.shape_type, data + 10 );
> }
>
Basically you serialize it by hand.
Another more declarative (de)serialization technique is the one that Tom
Rodgers talked about at CppCon "Implementing Wire Protocols with Boost
Fusion" http://youtu.be/wbZdZKpUVeg.
Other than specifically calling out Boost.Serialization, this already seems
to be covered in the documentation:
*Why not just use Boost.Serialization?* Serialization involves a conversion
for every object involved in I/O. Endian integers require no conversion or
copying. They are already in the desired format for binary I/O. Thus they
can be read or written in bulk.
-- Nevin ":-)" Liber <mailto:nevin_at_[hidden]> (847) 691-1404
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk