$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [dynamic_bitset] Endianess
From: Joel (jdy_at_[hidden])
Date: 2012-05-03 12:07:51
Phil Endecott <spam_from_boost_dev <at> chezphil.org> writes:
> Joel wrote:
> > I've noticed that the dynamic_bitset seems to have endian issues.
>
> Do you have a test case that you can share?
This isn't a classic endian issue. I just needed to know in what order
the bits were arranged within each block. This didn't match the bit
ordering from the source I had.
> > For masking
> > out the ith bit in a block, it uses 1 shifted left by i. As a
> > result, the bits are not consecutive.
>
> What do you mean by "consecutive"? Why do you think this matters?
If one has a need to use the raw memory managed by the bitset for some
purpose one needs to know the ordering. Also, if one needed to change
the block_type for that chunk of raw memory it would matter.
> (I have just had a quick look at the code, and I've not seen anything
> like casts or unions that could cause endianness issues.)
You are right
> Regards, Phil.
Thanks Phil. I do think the ordering should be documented for the
constructor that takes start and end block iterators.
Joel