a class for bit vectors that are sparsely occupied. More...
#include <SparseBitVect.h>
Public Member Functions | |
| SparseBitVect () | |
| SparseBitVect (unsigned int size) | |
| initialize with a particular size; | |
| SparseBitVect (const SparseBitVect &other) | |
| copy constructor | |
| SparseBitVect (const std::string &) | |
| construct from a string pickle | |
| SparseBitVect (const char *data, const unsigned int dataLen) | |
| construct from a text pickle | |
| SparseBitVect & | operator= (const SparseBitVect &) |
| ~SparseBitVect () | |
| bool | operator[] (const unsigned int which) const |
| SparseBitVect | operator| (const SparseBitVect &) const |
| SparseBitVect | operator& (const SparseBitVect &) const |
| SparseBitVect | operator^ (const SparseBitVect &) const |
| SparseBitVect | operator~ () const |
| const IntSet * | getBitSet () const |
| returns a (const) pointer to our raw storage | |
| unsigned int | getNumBits () const |
| returns the number of bits (the length of the BitVect) | |
| bool | setBit (const unsigned int which) |
| sets a particular bit and returns its original value | |
| bool | setBit (const IntSetIter which) |
| bool | unsetBit (const unsigned int which) |
| unsets a particular bit and returns its original value | |
| bool | getBit (const unsigned int which) const |
| returns the value of a particular bit | |
| bool | getBit (const IntVectIter which) const |
| bool | getBit (const IntSetIter which) const |
| unsigned int | getNumOnBits () const |
| returns the number of on bits | |
| unsigned int | getNumOffBits () const |
| returns the number of off bits | |
| std::string | toString () const |
| returns a serialized (pickled) version of this BitVect | |
| void | getOnBits (IntVect &v) const |
replaces the contents of v with indices of our on bits | |
| void | clearBits () |
| clears (sets to off) all of our bits | |
| bool | operator== (const SparseBitVect &o) const |
| bool | operator!= (const SparseBitVect &o) const |
Public Attributes | |
| IntSet * | dp_bits |
| our raw data, exposed for the sake of efficiency | |
a class for bit vectors that are sparsely occupied.
SparseBitVect objects store only their on bits, in an std::set.
They are, as you might expect, quite memory efficient for sparsely populated vectors but become rather a nightmare if they need to be negated.
Definition at line 35 of file SparseBitVect.h.
| SparseBitVect::SparseBitVect | ( | ) | [inline] |
Definition at line 37 of file SparseBitVect.h.
| SparseBitVect::SparseBitVect | ( | unsigned int | size | ) | [inline, explicit] |
initialize with a particular size;
Definition at line 39 of file SparseBitVect.h.
| SparseBitVect::SparseBitVect | ( | const SparseBitVect & | other | ) | [inline] |
copy constructor
Definition at line 42 of file SparseBitVect.h.
References dp_bits, and getNumBits().
| SparseBitVect::SparseBitVect | ( | const std::string & | ) |
construct from a string pickle
| SparseBitVect::SparseBitVect | ( | const char * | data, | |
| const unsigned int | dataLen | |||
| ) |
construct from a text pickle
| SparseBitVect::~SparseBitVect | ( | ) | [inline] |
Definition at line 54 of file SparseBitVect.h.
References dp_bits.
| void SparseBitVect::clearBits | ( | ) | [inline, virtual] |
clears (sets to off) all of our bits
Implements BitVect.
Definition at line 79 of file SparseBitVect.h.
| bool SparseBitVect::getBit | ( | const unsigned int | which | ) | const [virtual] |
returns the value of a particular bit
Implements BitVect.
| bool SparseBitVect::getBit | ( | const IntVectIter | which | ) | const |
| bool SparseBitVect::getBit | ( | const IntSetIter | which | ) | const |
| const IntSet* SparseBitVect::getBitSet | ( | ) | const [inline] |
returns a (const) pointer to our raw storage
Definition at line 63 of file SparseBitVect.h.
References dp_bits.
| unsigned int SparseBitVect::getNumBits | ( | ) | const [inline, virtual] |
returns the number of bits (the length of the BitVect)
Implements BitVect.
Definition at line 65 of file SparseBitVect.h.
Referenced by SparseBitVect().
| unsigned int SparseBitVect::getNumOffBits | ( | ) | const [inline, virtual] |
returns the number of off bits
Implements BitVect.
Definition at line 74 of file SparseBitVect.h.
References dp_bits.
| unsigned int SparseBitVect::getNumOnBits | ( | ) | const [inline, virtual] |
returns the number of on bits
Implements BitVect.
Definition at line 73 of file SparseBitVect.h.
References dp_bits.
| void SparseBitVect::getOnBits | ( | IntVect & | v | ) | const [virtual] |
replaces the contents of v with indices of our on bits
Implements BitVect.
| bool SparseBitVect::operator!= | ( | const SparseBitVect & | o | ) | const [inline] |
Definition at line 85 of file SparseBitVect.h.
References dp_bits.
| SparseBitVect SparseBitVect::operator& | ( | const SparseBitVect & | ) | const |
| SparseBitVect& SparseBitVect::operator= | ( | const SparseBitVect & | ) |
| bool SparseBitVect::operator== | ( | const SparseBitVect & | o | ) | const [inline] |
Definition at line 82 of file SparseBitVect.h.
References dp_bits.
| bool SparseBitVect::operator[] | ( | const unsigned int | which | ) | const [virtual] |
Implements BitVect.
| SparseBitVect SparseBitVect::operator^ | ( | const SparseBitVect & | ) | const |
| SparseBitVect SparseBitVect::operator| | ( | const SparseBitVect & | ) | const |
| SparseBitVect SparseBitVect::operator~ | ( | ) | const |
| bool SparseBitVect::setBit | ( | const unsigned int | which | ) | [virtual] |
sets a particular bit and returns its original value
Implements BitVect.
| bool SparseBitVect::setBit | ( | const IntSetIter | which | ) |
| std::string SparseBitVect::toString | ( | ) | const [virtual] |
| bool SparseBitVect::unsetBit | ( | const unsigned int | which | ) | [virtual] |
unsets a particular bit and returns its original value
Implements BitVect.
our raw data, exposed for the sake of efficiency
Definition at line 79 of file SparseBitVect.h.
Referenced by getBitSet(), getNumOffBits(), getNumOnBits(), operator!=(), operator==(), SparseBitVect(), and ~SparseBitVect().
1.7.1