Revision cfdc7053f2bba3965c665328fc1d014f44cab16b authored by Lonca Emmanuel on 17 March 2021, 12:16:06 UTC, committed by Lonca Emmanuel on 17 March 2021, 12:16:06 UTC
1 parent 76983f8
DefaultRangeBasedSemanticsSolver.h
#ifndef SRC_ARGSOLVERS_DEFAULTRANGEBASEDSEMANTICSSOLVER_H_
#define SRC_ARGSOLVERS_DEFAULTRANGEBASEDSEMANTICSSOLVER_H_
#include "SemanticsProblemSolver.h"
#include "MssEncodingHelper.h"
#include "MssSolver.h"
#include "SatProblemReducer.h"
namespace CoQuiAAS {
class DefaultRangeBasedSemanticsSolver : public SemanticsProblemSolver {
public:
DefaultRangeBasedSemanticsSolver(std::shared_ptr<MssSolver> solver, Attacks &attacks, VarMap &varMap, TaskType taskType, SolverOutputFormatter &formatter);
virtual void init() = 0;
void computeOneExtension();
void computeAllExtensions();
void isCredulouslyAccepted();
void isSkepticallyAccepted();
virtual ~DefaultRangeBasedSemanticsSolver();
protected:
std::shared_ptr<MssSolver> solver;
MssEncodingHelper* helper;
bool stopEnum = false;
std::unique_ptr<SatProblemReducer> problemReducer;
private:
std::vector<std::vector<bool>> computeAllExtensions(std::function<void(std::vector<bool>&)> callback);
};
}
#endif
Computing file changes ...