11 #ifndef RD_SUBSTRUCTMATCH_H
12 #define RD_SUBSTRUCTMATCH_H
22 class ResonanceMolSupplier;
30 bool useChirality =
false;
32 bool useEnhancedStereo =
false;
34 bool aromaticMatchesConjugated =
false;
36 bool useQueryQueryMatches =
false;
38 bool recursionPossible =
true;
40 unsigned int maxMatches = 1000;
46 std::function<bool(
const ROMol &mol,
47 const std::vector<unsigned int> &match)>
104 template <
typename T1,
typename T2>
106 bool recursionPossible =
true,
bool useChirality =
false,
107 bool useQueryQueryMatches =
false) {
113 std::vector<MatchVectType> matchVects =
SubstructMatch(mol, query, params);
114 if (matchVects.size()) {
115 matchVect = matchVects.front();
119 return matchVect.size() != 0;
144 template <
typename T1,
typename T2>
146 std::vector<MatchVectType> &matchVect,
147 bool uniquify =
true,
bool recursionPossible =
true,
148 bool useChirality =
false,
149 bool useQueryQueryMatches =
false,
150 unsigned int maxMatches = 1000,
151 int numThreads = 1) {
160 return matchVect.size();
170 bool recursionPossible,
bool useChirality,
171 bool useQueryQueryMatches) {
177 std::vector<MatchVectType> matchVects =
179 if (matchVects.size()) {
180 matchVect = matchVects.front();
184 return matchVect.size() != 0;
190 std::vector<MatchVectType> &matchVect,
191 bool uniquify,
bool recursionPossible,
192 bool useChirality,
bool useQueryQueryMatches,
193 unsigned int maxMatches,
int numThreads) {
202 return matchVect.size();