6 #include "knowrob/queries/DisjunctiveBroadcaster.h"
12 isCertainlyPositive_(false) {
16 std::lock_guard<std::mutex> lock(
db_mutex_);
27 auto no = std::make_shared<AnswerNo>();
52 if (answer->isNegative()) {
53 std::lock_guard<std::mutex> lock(
db_mutex_);
54 negativeAnswers_.emplace_back(std::static_pointer_cast<const AnswerNo>(answer));
55 }
else if (answer->isPositive()) {
61 auto positiveAnswer = std::static_pointer_cast<const AnswerYes>(answer);
63 if (positiveAnswer->isCertain()) {
68 std::unique_lock<std::mutex> lock(
db_mutex_);
84 if (tok->indicatesEndOfEvaluation()) {
89 pushAnswer(std::static_pointer_cast<const Answer>(tok));
std::vector< AnswerNoPtr > negativeAnswers_
void pushAnswer(const AnswerPtr &answer)
bool isCertainlyPositive_
std::vector< AnswerYesPtr > deferredPositiveAnswers_
void push(const TokenPtr &msg) override
void pushDeferredMessages()
void push(const TokenPtr &tok) override
std::shared_ptr< const Token > TokenPtr
std::shared_ptr< const Answer > AnswerPtr