BSD style: see
license.txt
Sept 2009: Initial release
0.99.9
Kris
- struct BitSet(int Count = 0) ¶#
-
A fixed or dynamic set of bits. Note that this does no memory
allocation of its own when Size != 0, and does heap allocation
when Size is zero. Thus you can have a fixed-size low-overhead
'instance, or a heap oriented instance. The latter has support
for resizing, whereas the former does not.
Note that leveraging intrinsics is slower when using dmd ...
- void add(size_t i) ¶#
-
Set the indexed bit, resizing as necessary for heap-based
instances (IndexOutOfBounds for statically-sized instances)
- bool has(size_t i) ¶#
-
Test whether the indexed bit is enabled
- bool and(size_t i) ¶#
-
Like get() but a little faster for when you know the range
is valid
- void or(size_t i) ¶#
-
Turn on an indexed bit
- void xor(size_t i) ¶#
-
Invert an indexed bit
- void clr(size_t i) ¶#
-
Clear an indexed bit
- BitSet* clr() ¶#
-
Clear all bits
- BitSet dup() ¶#
-
Clone this BitSet and return it
- size_t size() ¶#
-
Return the number of bits we have room for
- BitSet* size(size_t i) ¶#
-
Expand to include the indexed bit (dynamic only)