ExplicitBitVect Class Reference

a class for bit vectors that are densely occupied More...

#include <ExplicitBitVect.h>

Inheritance diagram for ExplicitBitVect:

BitVect

List of all members.

Public Member Functions

 ExplicitBitVect ()
 ExplicitBitVect (unsigned int size)
 initialize with a particular size;
 ExplicitBitVect (const ExplicitBitVect &other)
 ExplicitBitVect (const std::string &)
 construct from a string pickle
 ExplicitBitVect (const char *, const unsigned int)
 construct from a text pickle
 ~ExplicitBitVect ()
ExplicitBitVectoperator= (const ExplicitBitVect &other)
bool operator[] (const unsigned int which) const
bool SetBit (const unsigned int which)
 sets a particular bit and returns its original value
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
ExplicitBitVect operator^ (const ExplicitBitVect &other) const
ExplicitBitVect operator & (const ExplicitBitVect &other) const
ExplicitBitVect operator| (const ExplicitBitVect &other) const
ExplicitBitVect operator~ () const
const unsigned int GetNumBits () const
 returns the number of bits (the length of the BitVect)
const unsigned int GetNumOnBits () const
 returns the number of on bits
const unsigned int GetNumOffBits () const
 returns the number of off bits
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
std::string ToString () const
 returns a serialized (pickled) version of this BitVect
bool operator== (const ExplicitBitVect &o) const
bool operator!= (const ExplicitBitVect &o) const

Public Attributes

boost::dynamic_bitset * dp_bits
 our raw storage


Detailed Description

a class for bit vectors that are densely occupied

ExplicitBitVect objects store all of their bits using a boost::dynamic_bitset

These are very fast, but can require large amounts of memory for large, sparsely occupied vectors.

Definition at line 21 of file ExplicitBitVect.h.


Constructor & Destructor Documentation

ExplicitBitVect::ExplicitBitVect (  )  [inline]

Definition at line 23 of file ExplicitBitVect.h.

ExplicitBitVect::ExplicitBitVect ( unsigned int  size  )  [inline, explicit]

initialize with a particular size;

Definition at line 25 of file ExplicitBitVect.h.

ExplicitBitVect::ExplicitBitVect ( const ExplicitBitVect other  ) 

ExplicitBitVect::ExplicitBitVect ( const std::string &   ) 

construct from a string pickle

ExplicitBitVect::ExplicitBitVect ( const char *  ,
const unsigned  int 
)

construct from a text pickle

ExplicitBitVect::~ExplicitBitVect (  ) 


Member Function Documentation

ExplicitBitVect& ExplicitBitVect::operator= ( const ExplicitBitVect other  ) 

bool ExplicitBitVect::operator[] ( const unsigned int  which  )  const [virtual]

Implements BitVect.

bool ExplicitBitVect::SetBit ( const unsigned int  which  )  [virtual]

sets a particular bit and returns its original value

Implements BitVect.

Referenced by RDInfoTheory::BitCorrMatGenerator::collectVotes().

bool ExplicitBitVect::UnSetBit ( const unsigned int  which  )  [virtual]

unsets a particular bit and returns its original value

Implements BitVect.

bool ExplicitBitVect::GetBit ( const unsigned int  which  )  const [virtual]

returns the value of a particular bit

Implements BitVect.

ExplicitBitVect ExplicitBitVect::operator^ ( const ExplicitBitVect other  )  const

ExplicitBitVect ExplicitBitVect::operator & ( const ExplicitBitVect other  )  const

ExplicitBitVect ExplicitBitVect::operator| ( const ExplicitBitVect other  )  const

ExplicitBitVect ExplicitBitVect::operator~ (  )  const

const unsigned int ExplicitBitVect::GetNumBits (  )  const [virtual]

returns the number of bits (the length of the BitVect)

Implements BitVect.

const unsigned int ExplicitBitVect::GetNumOnBits (  )  const [virtual]

returns the number of on bits

Implements BitVect.

const unsigned int ExplicitBitVect::GetNumOffBits (  )  const [virtual]

returns the number of off bits

Implements BitVect.

void ExplicitBitVect::GetOnBits ( IntVect v  )  const [virtual]

replaces the contents of v with indices of our on bits

Implements BitVect.

void ExplicitBitVect::ClearBits (  )  [inline, virtual]

clears (sets to off) all of our bits

Implements BitVect.

Definition at line 51 of file ExplicitBitVect.h.

References dp_bits.

std::string ExplicitBitVect::ToString (  )  const [virtual]

returns a serialized (pickled) version of this BitVect

Implements BitVect.

bool ExplicitBitVect::operator== ( const ExplicitBitVect o  )  const [inline]

Definition at line 56 of file ExplicitBitVect.h.

References dp_bits.

bool ExplicitBitVect::operator!= ( const ExplicitBitVect o  )  const [inline]

Definition at line 59 of file ExplicitBitVect.h.

References dp_bits.


Member Data Documentation

boost::dynamic_bitset* ExplicitBitVect::dp_bits

our raw storage

Definition at line 54 of file ExplicitBitVect.h.

Referenced by ClearBits(), operator!=(), and operator==().


The documentation for this class was generated from the following file:

Generated on Fri Apr 3 06:03:02 2009 for RDCode by  doxygen 1.5.6