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

Constructor & Destructor Documentation

◆ ExplicitBitVect() [1/7]

ExplicitBitVect::ExplicitBitVect ( )
inline

Definition at line 31 of file ExplicitBitVect.h.

◆ ExplicitBitVect() [2/7]

ExplicitBitVect::ExplicitBitVect ( unsigned int  size)
inlineexplicit

initialize with a particular size;

Definition at line 33 of file ExplicitBitVect.h.

◆ ExplicitBitVect() [3/7]

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

initialize with a particular size and all bits set

◆ ExplicitBitVect() [4/7]

ExplicitBitVect::ExplicitBitVect ( const ExplicitBitVect other)

◆ ExplicitBitVect() [5/7]

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

construct from a string pickle

◆ ExplicitBitVect() [6/7]

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

construct from a text pickle

◆ ExplicitBitVect() [7/7]

ExplicitBitVect::ExplicitBitVect ( boost::dynamic_bitset<> *  bits)
inline

◆ ~ExplicitBitVect()

ExplicitBitVect::~ExplicitBitVect ( )

Member Function Documentation

◆ clearBits()

void ExplicitBitVect::clearBits ( )
inlinevirtual

clears (sets to off) all of our bits

Implements BitVect.

Definition at line 77 of file ExplicitBitVect.h.

References BitVect::toString().

◆ getBit()

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

returns the value of a particular bit

Implements BitVect.

◆ getNumBits()

unsigned int ExplicitBitVect::getNumBits ( ) const
virtual

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

Implements BitVect.

◆ getNumOffBits()

unsigned int ExplicitBitVect::getNumOffBits ( ) const
virtual

returns the number of off bits

Implements BitVect.

◆ getNumOnBits()

unsigned int ExplicitBitVect::getNumOnBits ( ) const
virtual

returns the number of on bits

Implements BitVect.

◆ getOnBits()

void ExplicitBitVect::getOnBits ( IntVect v) const
virtual

replaces the contents of v with indices of our on bits

Implements BitVect.

◆ operator &()

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

◆ operator &=()

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

◆ operator!=()

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

Definition at line 85 of file ExplicitBitVect.h.

References dp_bits.

◆ operator+()

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

◆ operator+=()

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

◆ operator=()

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

◆ operator==()

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

Definition at line 82 of file ExplicitBitVect.h.

References dp_bits.

◆ operator[]()

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

Implements BitVect.

◆ operator^()

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

◆ operator^=()

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

◆ operator|()

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

◆ operator|=()

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

◆ operator~()

ExplicitBitVect ExplicitBitVect::operator~ ( ) const

◆ setBit()

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

sets a particular bit and returns its original value

Implements BitVect.

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

◆ toString()

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

returns a serialized (pickled) version of this BitVect

Implements BitVect.

◆ unsetBit()

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

unsets a particular bit and returns its original value

Implements BitVect.

Member Data Documentation

◆ dp_bits

boost::dynamic_bitset* ExplicitBitVect::dp_bits

our raw storage

Definition at line 80 of file ExplicitBitVect.h.

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


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