6 #ifndef KNOWROB_ANSWER_H_
7 #define KNOWROB_ANSWER_H_
11 #include "knowrob/terms/Atom.h"
17 class Answer :
public Token {
118 std::shared_ptr<GraphSelector>
frame_;
129 using AnswerPtr = std::shared_ptr<const Answer>;
143 struct AnswerComparator {
150 using AnswerSet = std::set<AnswerPtr, AnswerComparator>;
void setIsOccasionallyTrue(bool val)
std::string humanReadableForm() const
void applyFrame(const GraphSelector &frame)
size_t hashOfAnswer() const
Answer(const Answer &other)
bool isOccasionallyTrue() const
auto & reasonerTerm() const
void setIsPositive(bool val)
bool isAllwaysTrue() const
bool isOccasionallyTrue() const
void setFrame(const std::shared_ptr< GraphSelector > &frame)
void setIsNegative(bool val)
std::shared_ptr< GraphSelector > frame_
void setReasonerTerm(const AtomPtr &reasonerTerm)
void setIsUncertain(bool val, std::optional< double > confidence)
std::string stringFormOfAnswer() const
FunctionRule & function()
std::function< void(const AnswerPtr &)> AnswerHandler
AnswerPtr mergeAnswers(const AnswerPtr &a, const AnswerPtr &b, bool ignoreInconsistencies)
std::set< AnswerPtr, AnswerComparator > AnswerSet
std::shared_ptr< Atom > AtomPtr
std::shared_ptr< const Answer > AnswerPtr
bool operator()(const AnswerPtr &v0, const AnswerPtr &v1) const