Loading...
Searching...
No Matches
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 | ( |  | ) |

inline virtual

## Member Function Documentation

## EvalAtomExpr()

bool EvalAtomExpr | ( | AtomExpr * | expr,
|  | OBAtom * | atom )

protected

Referenced by EvalAtomExpr(), FastSingleMatch(), OBSSMatch::Match(), and SetupAtomMatchTable().

## EvalBondExpr()

bool EvalBondExpr | ( | BondExpr * | expr,
|  | OBBond * | bond )

protected

Referenced by EvalBondExpr(), FastSingleMatch(), and 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

Referenced by match().

## match()

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

Referenced by EvalAtomExpr(), OBSmartsPattern::Match(), OBSmartsPattern::Match(), OBSmartsPattern::RestrictedMatch(), and OBSmartsPattern::RestrictedMatch().

## Friends And Related Symbol Documentation

## OBSSMatch

friend class OBSSMatch

friend

Referenced by match(), and OBSSMatch.

## Member Data Documentation

## RSCACHE

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

protected

Referenced by EvalAtomExpr().

## Fragments

std::vector<const Pattern*> Fragments

protected

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

- parsmart.h
- parsmart.cpp