6 #ifndef KNOWROB_GOAL_H_
7 #define KNOWROB_GOAL_H_
11 #include <knowrob/semweb/TriplePattern.h>
12 #include <knowrob/queries/TokenBuffer.h>
13 #include <knowrob/queries/Answer.h>
14 #include "knowrob/formulas/SimpleConjunction.h"
20 class Goal :
public Query {
75 std::shared_ptr<const QueryContext>
ctx_;
78 std::shared_ptr<SimpleConjunction>
formula_;
84 using GoalPtr = std::shared_ptr<Goal>;
std::shared_ptr< const QueryContext > ctx_
Goal(const FirstOrderLiteralPtr &literal, QueryContextPtr ctx=DefaultQueryContext())
void push(const AnswerPtr &answer)
Goal(SimpleConjunctionPtr formula, QueryContextPtr ctx=DefaultQueryContext())
std::shared_ptr< TokenStream::Channel > outputChannel_
void push(const BindingsPtr &bindings)
Goal(SimpleConjunctionPtr formula, const Goal &goal)
auto & answerBuffer() const
auto & outputChannel() const
void write(std::ostream &os) const override
std::shared_ptr< TokenBuffer > answerBuffer_
std::shared_ptr< SimpleConjunction > formula_
std::shared_ptr< SimpleConjunction > SimpleConjunctionPtr
std::shared_ptr< const Bindings > BindingsPtr
QueryContextPtr DefaultQueryContext()
std::shared_ptr< const QueryContext > QueryContextPtr
std::shared_ptr< const Answer > AnswerPtr
std::shared_ptr< FirstOrderLiteral > FirstOrderLiteralPtr
std::shared_ptr< Goal > GoalPtr