www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Fix] Bit pointer/array implementation with bit offset

This is what I wrote in the limited spare time I had at the weekend. 
Two types: BitPointer, to use as bit*, and BitArray, to use as bit[].

Still not optimised, and I'm not sure if there are operations I've 
missed off (besides stuff with static bit arrays).

It uses a bit offset to enable arbitrary bit pointing, in-place slicing 
and copying.  And it even supports foreach with an inout iterator, which 
is another step up from the current imp IIRC.

Of course, the representation isn't compatible with that of regular 
pointer and array types.  But it can't be, if it's to achieve the 
argued-for functionality being implemented here.  So obviously, there'd 
need to be restrictions/special handling on conversions to/from other 
pointer/array types....

Code attached, complete with unittests....


My e-mail is valid but not my primary mailbox, aside from its being the 
unfortunate victim of intensive mail-bombing at the moment.  Please keep 
replies on the 'group where everyone may benefit.
Jun 14 2004