RDKit
Open-source cheminformatics and machine learning.
ExplicitBitVect Class Reference

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

#include <ExplicitBitVect.h>

Inheritance diagram for ExplicitBitVect:
BitVect

Public Member Functions

 ExplicitBitVect ()
 
 ExplicitBitVect (unsigned int size)
 initialize with a particular size; More...
 
 ExplicitBitVect (unsigned int size, bool bitsSet)
 initialize with a particular size and all bits set More...
 
 ExplicitBitVect (const ExplicitBitVect &other)
 
 ExplicitBitVect (const std::string &)
 construct from a string pickle More...
 
 ExplicitBitVect (const char *, const unsigned int)
 construct from a text pickle More...
 
 ExplicitBitVect (boost::dynamic_bitset<> *bits)
 construct directly from a dynamic_bitset pointer More...
 
 ~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 More...
 
bool unsetBit (const unsigned int which)
 unsets a particular bit and returns its original value More...
 
bool getBit (const unsigned int which) const
 returns the value of a particular bit More...
 
ExplicitBitVect operator^ (const ExplicitBitVect &other) const
 
ExplicitBitVect operator& (const ExplicitBitVect &other) const
 
ExplicitBitVect operator| (const ExplicitBitVect &other) const
 
ExplicitBitVect operator~ () const
 
ExplicitBitVect operator+ (const ExplicitBitVect &other) const
 
ExplicitBitVectoperator^= (const ExplicitBitVect &other)
 
ExplicitBitVectoperator&= (const ExplicitBitVect &other)
 
ExplicitBitVectoperator|= (const ExplicitBitVect &other)
 
ExplicitBitVectoperator+= (const ExplicitBitVect &other)
 
unsigned int getNumBits () const
 returns the number of bits (the length of the BitVect) More...
 
unsigned int getNumOnBits () const
 returns the number of on bits More...
 
unsigned int getNumOffBits () const
 returns the number of off bits More...
 
void getOnBits (IntVect &v) const
 replaces the contents of v with indices of our on bits More...
 
void clearBits ()
 clears (sets to off) all of our bits More...
 
std::string toString () const
 returns a serialized (pickled) version of this BitVect More...
 
bool operator== (const ExplicitBitVect &o) const
 
bool operator!= (const ExplicitBitVect &o) const
 
- Public Member Functions inherited from BitVect
virtual ~BitVect ()=0
 
void initFromText (const char *data, const unsigned int dataLen, bool isBase64=false, bool allowOldFormat=false)
 initializes this BitVect from a pickle More...
 
unsigned int size () const
 

Public Attributes

boost::dynamic_bitset * dp_bits
 our raw storage More...
 

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 26 of file ExplicitBitVect.h.

Constructor & Destructor Documentation

ExplicitBitVect::ExplicitBitVect ( )
inline

Definition at line 28 of file ExplicitBitVect.h.

Referenced by ExplicitBitVect().

ExplicitBitVect::ExplicitBitVect ( unsigned int  size)
inlineexplicit

initialize with a particular size;

Definition at line 30 of file ExplicitBitVect.h.

References ExplicitBitVect(), and BitVect::size().

ExplicitBitVect::ExplicitBitVect ( unsigned int  size,
bool  bitsSet 
)

initialize with a particular size and all bits set

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 ( boost::dynamic_bitset<> *  bits)
inline
ExplicitBitVect::~ExplicitBitVect ( )

Referenced by ExplicitBitVect().

Member Function Documentation

void ExplicitBitVect::clearBits ( )
inlinevirtual

clears (sets to off) all of our bits

Implements BitVect.

Definition at line 74 of file ExplicitBitVect.h.

References dp_bits, and toString().

bool ExplicitBitVect::getBit ( const unsigned int  which) const
virtual

returns the value of a particular bit

Implements BitVect.

Referenced by ExplicitBitVect().

unsigned int ExplicitBitVect::getNumBits ( ) const
virtual

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

Implements BitVect.

Referenced by ExplicitBitVect().

unsigned int ExplicitBitVect::getNumOffBits ( ) const
virtual

returns the number of off bits

Implements BitVect.

Referenced by ExplicitBitVect().

unsigned int ExplicitBitVect::getNumOnBits ( ) const
virtual

returns the number of on bits

Implements BitVect.

Referenced by ExplicitBitVect().

void ExplicitBitVect::getOnBits ( IntVect v) const
virtual

replaces the contents of v with indices of our on bits

Implements BitVect.

Referenced by ExplicitBitVect().

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

Definition at line 82 of file ExplicitBitVect.h.

References dp_bits.

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

Referenced by ExplicitBitVect().

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

Referenced by ExplicitBitVect().

ExplicitBitVect ExplicitBitVect::operator+ ( const ExplicitBitVect other) const

Referenced by ExplicitBitVect().

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

Referenced by ExplicitBitVect().

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

Referenced by ExplicitBitVect().

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

Definition at line 79 of file ExplicitBitVect.h.

References dp_bits.

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

Implements BitVect.

Referenced by ExplicitBitVect().

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

Referenced by ExplicitBitVect().

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

Referenced by ExplicitBitVect().

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

Referenced by ExplicitBitVect().

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

Referenced by ExplicitBitVect().

ExplicitBitVect ExplicitBitVect::operator~ ( ) const

Referenced by ExplicitBitVect().

bool ExplicitBitVect::setBit ( const unsigned int  which)
virtual

sets a particular bit and returns its original value

Implements BitVect.

Referenced by RDInfoTheory::BitCorrMatGenerator::collectVotes(), and ExplicitBitVect().

std::string ExplicitBitVect::toString ( ) const
virtual

returns a serialized (pickled) version of this BitVect

Implements BitVect.

Referenced by clearBits().

bool ExplicitBitVect::unsetBit ( const unsigned int  which)
virtual

unsets a particular bit and returns its original value

Implements BitVect.

Referenced by ExplicitBitVect().

Member Data Documentation

boost::dynamic_bitset* ExplicitBitVect::dp_bits

our raw storage

Definition at line 77 of file ExplicitBitVect.h.

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


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