tango.util.container.more.BitSet

License:
BSD style:

Version:
Sept 2009: Initial release

since:
0.99.9

author:
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)


Page generated by Ddoc. Copyright (c) 2009 Kris Bell. All rights reserved