25 #include <boost/range/algorithm/find.hpp>
27 using namespace opencog;
59 for (
Rule& rule : rules)
101 for (
Handle p : product) {
118 for (
Handle mn : matched_nodes)
136 if (hi.value() == h.
value())
143 HandleSeq iset = hseqs[hseqs.size() - 1];
146 if (i.value() == h.
value())
151 }
while (not hseqs.empty());
161 result.insert(result.end(), i.inf_product.begin(), i.inf_product.end());
172 vector<Rule*> applied_rules;
174 if (boost::find(applied_rules, i.applied_rule) == applied_rules.end())
175 applied_rules.push_back(i.applied_rule);
177 return applied_rules;
HandleSeq get_potential_sources(void)
void add_rules_product(int iteration, HandleSeq product)
std::vector< Handle > HandleSeq
a list of handles
HandleSeq _selected_sources
vector< Rule * > get_applied_rules(void)
Handle get_cur_source(void)
std::vector< HandleSeq > HandleSeqSeq
a list of lists of handles
vector< Inference > _inf_history
vector< Inference > & get_inf_history()
void set_rules(const vector< Rule * > &rules)
bool isin_potential_sources(Handle h)
bool isin_selected_sources(Handle h)
HandleSeq get_selected_sources(void)
static LinkPtr LinkCast(const Handle &h)
void set_search_in_af(bool val)
HandleSeq _potential_sources
void set_cur_rule(Rule *r)
vector< Rule * > & get_rules()
void update_potential_sources(HandleSeq input)
void set_source(Handle source)
void add_inference(int iteration, HandleSeq product, HandleSeq matched_nodes)
const HandleSeq & get_outgoing(Handle h) const