#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 | |
| const 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 |
| const unsigned int | GetNumOnBits () const |
| returns the number of on bits | |
| const 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 | |
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 31 of file SparseBitVect.h.
| SparseBitVect::SparseBitVect | ( | ) | [inline] |
Definition at line 33 of file SparseBitVect.h.
| SparseBitVect::SparseBitVect | ( | unsigned int | size | ) | [inline, explicit] |
| SparseBitVect::SparseBitVect | ( | const SparseBitVect & | other | ) | [inline] |
copy constructor
Definition at line 38 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] |
| SparseBitVect& SparseBitVect::operator= | ( | const SparseBitVect & | ) |
| 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 SparseBitVect & | ) | const |
| SparseBitVect SparseBitVect::operator~ | ( | ) | const |
| const IntSet* SparseBitVect::GetBitSet | ( | ) | const [inline] |
returns a (const) pointer to our raw storage
Definition at line 59 of file SparseBitVect.h.
References dp_bits.
| const unsigned int SparseBitVect::GetNumBits | ( | ) | const [inline, virtual] |
returns the number of bits (the length of the BitVect)
Implements BitVect.
Definition at line 61 of file SparseBitVect.h.
Referenced by SparseBitVect().
| bool SparseBitVect::SetBit | ( | const unsigned int | which | ) | [virtual] |
| bool SparseBitVect::SetBit | ( | const IntSetIter | which | ) |
| bool SparseBitVect::UnSetBit | ( | const unsigned int | which | ) | [virtual] |
| bool SparseBitVect::GetBit | ( | const unsigned int | which | ) | const [virtual] |
| bool SparseBitVect::GetBit | ( | const IntVectIter | which | ) | const |
| bool SparseBitVect::GetBit | ( | const IntSetIter | which | ) | const |
| const unsigned int SparseBitVect::GetNumOnBits | ( | ) | const [inline, virtual] |
returns the number of on bits
Implements BitVect.
Definition at line 69 of file SparseBitVect.h.
References dp_bits.
| const unsigned int SparseBitVect::GetNumOffBits | ( | ) | const [inline, virtual] |
returns the number of off bits
Implements BitVect.
Definition at line 70 of file SparseBitVect.h.
References dp_bits.
| std::string SparseBitVect::ToString | ( | ) | const [virtual] |
| void SparseBitVect::GetOnBits | ( | IntVect & | v | ) | const [virtual] |
| void SparseBitVect::ClearBits | ( | ) | [inline, virtual] |
clears (sets to off) all of our bits
Implements BitVect.
Definition at line 75 of file SparseBitVect.h.
| bool SparseBitVect::operator== | ( | const SparseBitVect & | o | ) | const [inline] |
| bool SparseBitVect::operator!= | ( | const SparseBitVect & | o | ) | const [inline] |
our raw data, exposed for the sake of efficiency
Definition at line 75 of file SparseBitVect.h.
Referenced by GetBitSet(), GetNumOffBits(), GetNumOnBits(), operator!=(), operator==(), SparseBitVect(), and ~SparseBitVect().
1.5.6