5 #ifndef BALL_STRUCTURE_SMARTSMATCHER_H
6 #define BALL_STRUCTURE_SMARTSMATCHER_H
8 #ifndef BALL_STRUCTURE_SMARTSPARSER_H
16 #include <boost/shared_ptr.hpp>
51 typedef std::vector<std::set<const Atom*> >
Match;
74 void match(
Match& matches,
Molecule& mol,
const String& smarts,
const std::set<const Atom*>& start_atoms)
78 void match(std::vector<Match>& matches,
Molecule& mol,
const std::vector<String>& smarts)
82 void match(std::vector<Match>& matches,
Molecule& mol,
const std::vector<String>& smarts,
const std::set<const Atom*>& start_atoms)
86 void setSSSR(
const std::vector<std::vector<Atom*> >& sssr);
247 void dump(
const String& name,
Size depth_ = 0);
256 static boost::shared_ptr<RecStructPool_>
pool_;
259 bool evaluateRingEdges_(
const std::set<const Atom*>& matching,
const std::map<const SPNode*, const Atom*>& mapping,
const String& smarts);
277 std::vector<std::vector<Atom*> >
sssr_;
285 #endif // BALL_STRUCTURE_SMARTSMATCHER_H