RDKit
Open-source cheminformatics and machine learning.
RDKit::SparseIntVect< IndexType > Class Template Reference

a class for efficiently storing sparse vectors of ints More...

#include <SparseIntVect.h>

Public Types

typedef std::map< IndexType, int > StorageType
 

Public Member Functions

 SparseIntVect ()
 
 SparseIntVect (IndexType length)
 initialize with a particular length More...
 
 SparseIntVect (const SparseIntVect< IndexType > &other)
 Copy constructor. More...
 
 SparseIntVect (const std::string &pkl)
 constructor from a pickle More...
 
 SparseIntVect (const char *pkl, const unsigned int len)
 constructor from a pickle More...
 
 ~SparseIntVect ()
 destructor (doesn't need to do anything) More...
 
int getVal (IndexType idx) const
 return the value at an index More...
 
void setVal (IndexType idx, int val)
 set the value at an index More...
 
int operator[] (IndexType idx) const
 support indexing using [] More...
 
IndexType getLength () const
 returns the length More...
 
int getTotalVal (bool doAbs=false) const
 
unsigned int size () const
 returns the length More...
 
const StorageTypegetNonzeroElements () const
 returns our nonzero elements as a map(IndexType->int) More...
 
SparseIntVect< IndexType > & operator &= (const SparseIntVect< IndexType > &other)
 
const SparseIntVect< IndexType > operator & (const SparseIntVect< IndexType > &other) const
 
SparseIntVect< IndexType > & operator|= (const SparseIntVect< IndexType > &other)
 
const SparseIntVect< IndexType > operator| (const SparseIntVect< IndexType > &other) const
 
SparseIntVect< IndexType > & operator+= (const SparseIntVect< IndexType > &other)
 
const SparseIntVect< IndexType > operator+ (const SparseIntVect< IndexType > &other) const
 
SparseIntVect< IndexType > & operator-= (const SparseIntVect< IndexType > &other)
 
const SparseIntVect< IndexType > operator- (const SparseIntVect< IndexType > &other) const
 
SparseIntVect< IndexType > & operator*= (int v)
 
SparseIntVect< IndexType > & operator* (int v)
 
SparseIntVect< IndexType > & operator/= (int v)
 
SparseIntVect< IndexType > & operator/ (int v)
 
SparseIntVect< IndexType > & operator+= (int v)
 
SparseIntVect< IndexType > & operator+ (int v)
 
SparseIntVect< IndexType > & operator-= (int v)
 
SparseIntVect< IndexType > & operator- (int v)
 
bool operator== (const SparseIntVect< IndexType > &v2) const
 
bool operator!= (const SparseIntVect< IndexType > &v2) const
 
std::string toString () const
 returns a binary string representation (pickle) More...
 
void fromString (const std::string &txt)
 

Detailed Description

template<typename IndexType>
class RDKit::SparseIntVect< IndexType >

a class for efficiently storing sparse vectors of ints

Definition at line 28 of file SparseIntVect.h.

Member Typedef Documentation

◆ StorageType

template<typename IndexType>
typedef std::map<IndexType, int> RDKit::SparseIntVect< IndexType >::StorageType

Definition at line 30 of file SparseIntVect.h.

Constructor & Destructor Documentation

◆ SparseIntVect() [1/5]

template<typename IndexType>
RDKit::SparseIntVect< IndexType >::SparseIntVect ( )
inline

Definition at line 32 of file SparseIntVect.h.

◆ SparseIntVect() [2/5]

template<typename IndexType>
RDKit::SparseIntVect< IndexType >::SparseIntVect ( IndexType  length)
inline

initialize with a particular length

Definition at line 35 of file SparseIntVect.h.

◆ SparseIntVect() [3/5]

template<typename IndexType>
RDKit::SparseIntVect< IndexType >::SparseIntVect ( const SparseIntVect< IndexType > &  other)
inline

Copy constructor.

Definition at line 38 of file SparseIntVect.h.

◆ SparseIntVect() [4/5]

template<typename IndexType>
RDKit::SparseIntVect< IndexType >::SparseIntVect ( const std::string &  pkl)
inline

constructor from a pickle

Definition at line 44 of file SparseIntVect.h.

◆ SparseIntVect() [5/5]

template<typename IndexType>
RDKit::SparseIntVect< IndexType >::SparseIntVect ( const char *  pkl,
const unsigned int  len 
)
inline

constructor from a pickle

Definition at line 48 of file SparseIntVect.h.

◆ ~SparseIntVect()

template<typename IndexType>
RDKit::SparseIntVect< IndexType >::~SparseIntVect ( )
inline

destructor (doesn't need to do anything)

Definition at line 53 of file SparseIntVect.h.

Member Function Documentation

◆ fromString()

template<typename IndexType>
void RDKit::SparseIntVect< IndexType >::fromString ( const std::string &  txt)
inline

Definition at line 346 of file SparseIntVect.h.

References PRECONDITION, and RDKit::streamRead().

◆ getLength()

template<typename IndexType>
IndexType RDKit::SparseIntVect< IndexType >::getLength ( ) const
inline

◆ getNonzeroElements()

template<typename IndexType>
const StorageType& RDKit::SparseIntVect< IndexType >::getNonzeroElements ( ) const
inline

returns our nonzero elements as a map(IndexType->int)

Definition at line 118 of file SparseIntVect.h.

Referenced by RDKit::updateFromSequence().

◆ getTotalVal()

template<typename IndexType>
int RDKit::SparseIntVect< IndexType >::getTotalVal ( bool  doAbs = false) const
inline

returns the sum of all the elements in the vect the doAbs argument toggles summing the absolute values of the elements

Definition at line 103 of file SparseIntVect.h.

Referenced by RDKit::DiceSimilarity().

◆ getVal()

template<typename IndexType>
int RDKit::SparseIntVect< IndexType >::getVal ( IndexType  idx) const
inline

return the value at an index

Definition at line 66 of file SparseIntVect.h.

Referenced by RDKit::SparseIntVect< IndexType >::operator[](), and RDKit::updateFromSequence().

◆ operator &()

template<typename IndexType>
const SparseIntVect<IndexType> RDKit::SparseIntVect< IndexType >::operator& ( const SparseIntVect< IndexType > &  other) const
inline

Definition at line 153 of file SparseIntVect.h.

◆ operator &=()

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator&= ( const SparseIntVect< IndexType > &  other)
inline

this is a "fuzzy" intesection, the final value of each element is equal to the minimum from the two vects.

Definition at line 123 of file SparseIntVect.h.

◆ operator!=()

template<typename IndexType>
bool RDKit::SparseIntVect< IndexType >::operator!= ( const SparseIntVect< IndexType > &  v2) const
inline

Definition at line 319 of file SparseIntVect.h.

◆ operator*()

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator* ( int  v)
inline

Definition at line 272 of file SparseIntVect.h.

◆ operator*=()

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator*= ( int  v)
inline

Definition at line 264 of file SparseIntVect.h.

◆ operator+() [1/2]

template<typename IndexType>
const SparseIntVect<IndexType> RDKit::SparseIntVect< IndexType >::operator+ ( const SparseIntVect< IndexType > &  other) const
inline

Definition at line 225 of file SparseIntVect.h.

◆ operator+() [2/2]

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator+ ( int  v)
inline

Definition at line 296 of file SparseIntVect.h.

◆ operator+=() [1/2]

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator+= ( const SparseIntVect< IndexType > &  other)
inline

Definition at line 197 of file SparseIntVect.h.

◆ operator+=() [2/2]

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator+= ( int  v)
inline

Definition at line 288 of file SparseIntVect.h.

◆ operator-() [1/2]

template<typename IndexType>
const SparseIntVect<IndexType> RDKit::SparseIntVect< IndexType >::operator- ( const SparseIntVect< IndexType > &  other) const
inline

Definition at line 259 of file SparseIntVect.h.

◆ operator-() [2/2]

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator- ( int  v)
inline

Definition at line 308 of file SparseIntVect.h.

◆ operator-=() [1/2]

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator-= ( const SparseIntVect< IndexType > &  other)
inline

Definition at line 231 of file SparseIntVect.h.

◆ operator-=() [2/2]

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator-= ( int  v)
inline

Definition at line 300 of file SparseIntVect.h.

◆ operator/()

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator/ ( int  v)
inline

Definition at line 284 of file SparseIntVect.h.

◆ operator/=()

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator/= ( int  v)
inline

Definition at line 276 of file SparseIntVect.h.

◆ operator==()

template<typename IndexType>
bool RDKit::SparseIntVect< IndexType >::operator== ( const SparseIntVect< IndexType > &  v2) const
inline

Definition at line 313 of file SparseIntVect.h.

◆ operator[]()

template<typename IndexType>
int RDKit::SparseIntVect< IndexType >::operator[] ( IndexType  idx) const
inline

support indexing using []

Definition at line 96 of file SparseIntVect.h.

References RDKit::SparseIntVect< IndexType >::getVal().

◆ operator|()

template<typename IndexType>
const SparseIntVect<IndexType> RDKit::SparseIntVect< IndexType >::operator| ( const SparseIntVect< IndexType > &  other) const
inline

Definition at line 191 of file SparseIntVect.h.

◆ operator|=()

template<typename IndexType>
SparseIntVect<IndexType>& RDKit::SparseIntVect< IndexType >::operator|= ( const SparseIntVect< IndexType > &  other)
inline

this is a "fuzzy" union, the final value of each element is equal to the maximum from the two vects.

Definition at line 162 of file SparseIntVect.h.

◆ setVal()

template<typename IndexType>
void RDKit::SparseIntVect< IndexType >::setVal ( IndexType  idx,
int  val 
)
inline

set the value at an index

Definition at line 79 of file SparseIntVect.h.

Referenced by RDKit::updateFromSequence().

◆ size()

template<typename IndexType>
unsigned int RDKit::SparseIntVect< IndexType >::size ( ) const
inline

returns the length

Definition at line 115 of file SparseIntVect.h.

References RDKit::SparseIntVect< IndexType >::getLength().

◆ toString()

template<typename IndexType>
std::string RDKit::SparseIntVect< IndexType >::toString ( ) const
inline

returns a binary string representation (pickle)

Definition at line 324 of file SparseIntVect.h.

References ci_SPARSEINTVECT_VERSION, and RDKit::streamWrite().


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