3.35.10 Match

OESystem::OEIterBase<OEMatchBase> *Match(const OEMolBase &mol,
                                         bool uniq = false) const
OESystem::OEIterBase<OEMatchBase> *Match(const OEQMolBase &mol,
                                         bool uniq = false) const

These methods perform subgraph isomorphism determination for instances of OEMolBase or OEQMolBase. Subgraphs which are isomorphic to the graph with which an instance of OESubSearch was initialized are identified. Subgraph matches are returned as a pointer to an OESystem::OEIterBase<OEMatchBase>, and should be assigned to an OESystem::OEIter<OEMatchBase> in order to prevent memory leaks. By default all possible subgraphs up to and including the maximum number of matches are returned by these methods. If the boolean argument passed to the methods is true then only the unique matches will be included in the iterator over the matches. A match or subgraph is considered unique if it differs from all other subgraphs found previously by at least one atom or bond. Two subgraph matches which cover the same atoms and bonds, albeit in different orders, will be called duplicates and the subgraph found later in the search will be discarded.