Open Babel  3.0
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
OBSmartsMatcher Class Reference

#include <openbabel/parsmart.h>

Public Member Functions

 OBSmartsMatcher ()
 
virtual ~OBSmartsMatcher ()
 
bool match (OBMol &mol, const Pattern *pat, std::vector< std::vector< int > > &mlist, bool single=false)
 

Protected Member Functions

bool EvalAtomExpr (AtomExpr *expr, OBAtom *atom)
 
bool EvalBondExpr (BondExpr *expr, OBBond *bond)
 
void SetupAtomMatchTable (std::vector< std::vector< bool > > &ttab, const Pattern *pat, OBMol &mol)
 
void FastSingleMatch (OBMol &mol, const Pattern *pat, std::vector< std::vector< int > > &mlist)
 

Protected Attributes

std::vector< std::pair< const Pattern *, std::vector< bool > > > RSCACHE
 
std::vector< const Pattern * > Fragments
 

Friends

class OBSSMatch
 

Detailed Description

Internal class: performs matching; a wrapper around previous C matching code to make it thread safe.

Constructor & Destructor Documentation

◆ OBSmartsMatcher()

OBSmartsMatcher ( )
inline

◆ ~OBSmartsMatcher()

virtual ~OBSmartsMatcher ( )
inlinevirtual

Member Function Documentation

◆ EvalAtomExpr()

bool EvalAtomExpr ( AtomExpr expr,
OBAtom atom 
)
protected

Referenced by OBSSMatch::Match().

◆ EvalBondExpr()

bool EvalBondExpr ( BondExpr expr,
OBBond bond 
)
protected

Referenced by OBSSMatch::Match().

◆ SetupAtomMatchTable()

void SetupAtomMatchTable ( std::vector< std::vector< bool > > &  ttab,
const Pattern pat,
OBMol mol 
)
protected

◆ FastSingleMatch()

void FastSingleMatch ( OBMol mol,
const Pattern pat,
std::vector< std::vector< int > > &  mlist 
)
protected

◆ match()

bool match ( OBMol mol,
const Pattern pat,
std::vector< std::vector< int > > &  mlist,
bool  single = false 
)

Friends And Related Function Documentation

◆ OBSSMatch

friend class OBSSMatch
friend

Member Data Documentation

◆ RSCACHE

std::vector<std::pair<const Pattern*,std::vector<bool> > > RSCACHE
protected

◆ Fragments

std::vector<const Pattern*> Fragments
protected

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