7 #include "knowrob/terms/Term.h" 
    8 #include "knowrob/terms/Atomic.h" 
    9 #include "knowrob/terms/Function.h" 
   10 #include "knowrob/terms/Variable.h" 
   11 #include "knowrob/integration/python/utils.h" 
   12 #include "knowrob/knowrob.h" 
   56     if (
this == &other) 
return true;
 
   60             return ((
Atomic *) 
this)->isSameAtomic(*((
Atomic *) &other));
 
   71     struct TermWrap : 
public Term, boost::python::wrapper<Term> {
 
   72         explicit TermWrap(PyObject *p, 
TermType termType) : 
Term(termType), self(p) {}
 
   74         const std::set<std::string_view> &
 
   75         variables()
 const override { 
return knowrob::py::call_method<std::set<std::string_view> &>(
self, 
"variables"); }
 
   84         enum_<TermType>(
"TermType")
 
   89         class_<Term, std::shared_ptr<TermWrap>, boost::noncopyable>
 
   91                 .def(
"__eq__", &Term::operator==)
 
  105                 .def(
"variables", pure_virtual(&
Term::variables), return_value_policy<copy_const_reference>());
 
  107         register_ptr_to_python<std::shared_ptr<Term> >();
 
virtual std::string format() const
bool operator==(const Term &other) const
static const std::set< std::string_view > noVariables_
TermType termType() const
virtual const std::set< std::string_view > & variables() const =0
void createType< Term >()
void hashCombine(std::size_t &seed, const std::size_t &v)