RDCode: ExplicitBitVect Class Reference

- Main Page
- Namespaces
- Classes
- Files
- Directories

- Class List
- Class Hierarchy
- Class Members

# ExplicitBitVect Class Reference

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

`#include <ExplicitBitVect.h>`

Inheritance diagram for ExplicitBitVect:

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 ()
ExplicitBitVect & | operator= (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
## 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.

## Member Data Documentation

boost::dynamic_bitset* ExplicitBitVect::dp_bits

our raw storage

Definition at line 54 of file ExplicitBitVect.h.

Referenced by ClearBits().

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

- ExplicitBitVect.h