Boost logo

Boost :

From: Dave Harris (brangdon_at_[hidden])
Date: 2004-05-06 14:39:51


In-Reply-To: <20040506033527.A2765313DF_at_[hidden]>
ramey_at_[hidden] (Robert Ramey) wrote (abridged):
> > > Specifically, I'd use a byte oriented scheme where the low 7 bits of
> > > each byte contribute to the current number, and the high bit says
> > > whether there are more bytes to come.
>
> That's the way it's done in demo_portable_binary_archive included in the
> current serialization package.

Yes. Demo_portable_binary_archive stores a length byte followed by the
bytes needed. I specifically wanted to suggest an alternative to that.
Using a bit from each byte means that small integers take half as much
space as with your format. Some numbers of bytes:

     Integer Length Byte High Bit
         0 2 1
        10 2 1
       100 2 1
      1000 3 2
     10000 3 2
    100000 4 3

In practice most integers are small. Eg most archive version numbers will
be below 100.

-- Dave Harris, Nottingham, UK


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