52 Solver(
const std::vector<Constraint>& constraints = {});
139 std::vector<Constraint> m_constraints;
141 static std::map<std::pair<SolverType, SolverCall>, std::function<Result<std::tuple<bool, std::string>>(
const std::string&,
const QueryConfig&)>> spec2query;
142 static std::map<SolverType, std::function<Result<std::string>()>> type2query_binary;
143 static std::map<SolverType, bool> type2link_status;
Result< SolverResult > query_local(const QueryConfig &config) const
Result< std::string > to_smt2(const QueryConfig &config) const
static bool has_local_solver_for(SolverType type, SolverCall call)
Solver & with_constraints(const std::vector< Constraint > &constraints)
const std::vector< Constraint > & get_constraints() const
static Result< SolverResult > query_local_with_smt2(const QueryConfig &config, const std::string &smt2)
Solver(const std::vector< Constraint > &constraints={})
Result< SolverResult > query_remote(const QueryConfig &config) const
Result< SolverResult > query(const QueryConfig &config=QueryConfig()) const
Solver & with_constraint(const Constraint &constraint)