A variable length container of bits implemented as a List of ulongs.
Setting, resetting and accessing a bit takes constant time.
public | Bitset() |
public | Bitset(const String<char>& bits_) |
public | Bitset(long numBits_) |
public bool | All() const |
public bool | Any() const |
public inline List<ulong>& | Bits() const |
public void | CheckPos(long pos) |
public void | Clear() |
public inline long | Count() const |
public void | Flip() |
public inline void | Flip(long pos) |
public inline long | LastBlockStartIndex() const |
public bool | None() const |
public inline long | NumBits() const |
public inline long | NumFullBlocks() const |
public void | Reset() |
public inline void | Reset(long pos) |
public void | Resize(long numBits_) |
public void | Set() |
public inline void | Set(long pos) |
public void | Set(long pos, bool bit) |
public inline bool | Test(long pos) const |
public String<char> | ToString() const |
public inline bool | operator[](long index) const |
private const ulong allOne | cast<ulong>(-1) |
private const ulong blockMask | 63u |
private const long blockSize | 64 |
private List<ulong> | bits |
private long | numBits |