$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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