diff options
Diffstat (limited to 'lib/Solver/AssignmentValidatingSolver.cpp')
-rw-r--r-- | lib/Solver/AssignmentValidatingSolver.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Solver/AssignmentValidatingSolver.cpp b/lib/Solver/AssignmentValidatingSolver.cpp index f18f43a8..d90cf6b2 100644 --- a/lib/Solver/AssignmentValidatingSolver.cpp +++ b/lib/Solver/AssignmentValidatingSolver.cpp @@ -13,6 +13,7 @@ #include "klee/Solver/SolverImpl.h" #include <memory> +#include <utility> #include <vector> namespace klee { @@ -23,7 +24,8 @@ private: void dumpAssignmentQuery(const Query &query, const Assignment &assignment); public: - AssignmentValidatingSolver(Solver *_solver) : solver(_solver) {} + AssignmentValidatingSolver(std::unique_ptr<Solver> solver) + : solver(std::move(solver)) {} bool computeValidity(const Query &, Solver::Validity &result); bool computeTruth(const Query &, bool &isValid); @@ -148,7 +150,9 @@ void AssignmentValidatingSolver::setCoreSolverTimeout(time::Span timeout) { return solver->impl->setCoreSolverTimeout(timeout); } -Solver *createAssignmentValidatingSolver(Solver *s) { - return new Solver(new AssignmentValidatingSolver(s)); +std::unique_ptr<Solver> +createAssignmentValidatingSolver(std::unique_ptr<Solver> s) { + return std::make_unique<Solver>( + std::make_unique<AssignmentValidatingSolver>(std::move(s))); } } |