6 #ifndef KNOWROB_GRAPH_TERM_H
7 #define KNOWROB_GRAPH_TERM_H
10 #include <knowrob/terms/Bindings.h>
26 class GraphTerm :
public Printable {
45 virtual void write(std::ostream &os)
const = 0;
58 std::shared_ptr<GraphTerm>
applyBindings(
const std::shared_ptr<GraphTerm> &
term,
const Bindings &bindings);
60 std::shared_ptr<GraphTerm>
operator&(
const std::shared_ptr<GraphTerm> &a,
const std::shared_ptr<GraphTerm> &b);
62 std::shared_ptr<GraphTerm>
operator|(
const std::shared_ptr<GraphTerm> &a,
const std::shared_ptr<GraphTerm> &b);
GraphTerm(GraphTermType termType)
virtual void write(std::ostream &os) const =0
virtual ~GraphTerm()=default
FormulaPtr operator|(const FormulaPtr &phi, const FormulaPtr &psi)
FirstOrderLiteralPtr applyBindings(const FirstOrderLiteralPtr &lit, const Bindings &bindings)
FormulaPtr operator&(const FormulaPtr &phi, const FormulaPtr &psi)