6 #ifndef KNOWROB_GROUNDABLE_H
7 #define KNOWROB_GROUNDABLE_H
12 #include "knowrob/Logger.h"
20 template<
class TermType>
class groundable {
115 if (
term->isVariable()) {
118 if (
auto grounded = std::dynamic_pointer_cast<TermType>(
term)) {
groundable & operator=(const std::shared_ptr< TermType > &grounded)
void set_variable(const std::shared_ptr< Variable > &variable)
std::shared_ptr< TermType > grounded_
bool has_grounding() const
Term * operator->() const
groundable & operator=(const std::shared_ptr< Variable > &variable)
TermPtr operator()() const
static groundable< TermType > cast(const TermPtr &term)
TermPtr operator*() const
std::shared_ptr< Variable > variable_
groundable(const std::shared_ptr< Variable > &variable)
groundable(const std::shared_ptr< TermType > &grounded)
bool has_variable() const
void set_grounded(const std::shared_ptr< TermType > &grounded)
std::shared_ptr< Term > TermPtr