24 #ifndef _OPENCOG_PATTERN_MATCH_CALLBACK_H
25 #define _OPENCOG_PATTERN_MATCH_CALLBACK_H
57 const Handle& grnd_node) = 0;
69 const Handle& grnd_node) = 0;
185 const std::map<Handle,Handle>& gnds) = 0;
201 const Handle& grnd_link_h)
239 virtual bool grounding(
const std::map<Handle, Handle> &var_soln,
240 const std::map<Handle, Handle> &term_soln) = 0;
272 {
static const std::set<Type> _empty;
return _empty; }
300 #endif // _OPENCOG_PATTERN_MATCH_CALLBACK_H
virtual bool optional_clause_match(const Handle &pattrn, const Handle &grnd)=0
virtual bool evaluate_sentence(const Handle &eval, const std::map< Handle, Handle > &gnds)=0
virtual bool initiate_search(PatternMatchEngine *)=0
IncomingSet getIncomingSet()
virtual bool post_link_match(const LinkPtr &patt_link, const LinkPtr &grnd_link)
virtual void set_pattern(const Variables &vars, const Pattern &pat)=0
std::shared_ptr< Link > LinkPtr
virtual IncomingSet get_incoming_set(const Handle &h)
virtual ~PatternMatchCallback()
virtual bool clause_match(const Handle &pattrn_link_h, const Handle &grnd_link_h)
virtual bool variable_match(const Handle &patt_node, const Handle &grnd_node)=0
virtual bool link_match(const LinkPtr &patt_link, const LinkPtr &grnd_link)=0
virtual bool node_match(const Handle &patt_node, const Handle &grnd_node)=0
std::vector< LinkPtr > IncomingSet
virtual bool grounding(const std::map< Handle, Handle > &var_soln, const std::map< Handle, Handle > &term_soln)=0
virtual const std::set< Type > & get_connectives(void)
virtual bool fuzzy_match(const Handle &ph, const Handle &gh)