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.