From e9d77be6c688836d68a2be5f3f0a02e63f392bb8 Mon Sep 17 00:00:00 2001 From: Daniel Schemmel Date: Fri, 24 Mar 2023 02:50:22 +0000 Subject: use unique_ptr in Solver --- include/klee/Solver/Solver.h | 12 +++--------- lib/Solver/Solver.cpp | 5 ++--- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/include/klee/Solver/Solver.h b/include/klee/Solver/Solver.h index a2256028..2689d19c 100644 --- a/include/klee/Solver/Solver.h +++ b/include/klee/Solver/Solver.h @@ -14,6 +14,7 @@ #include "klee/System/Time.h" #include "klee/Solver/SolverCmdLine.h" +#include #include namespace klee { @@ -58,10 +59,6 @@ namespace klee { }; class Solver { - // DO NOT IMPLEMENT. - Solver(const Solver&); - void operator=(const Solver&); - public: enum Validity { True = 1, @@ -69,15 +66,12 @@ namespace klee { Unknown = 0 }; - public: /// validity_to_str - Return the name of given Validity enum value. static const char *validity_to_str(Validity v); - public: - SolverImpl *impl; + std::unique_ptr impl; - public: - Solver(SolverImpl *_impl) : impl(_impl) {} + Solver(SolverImpl *impl); virtual ~Solver(); /// evaluate - Determine for a particular state if the query diff --git a/lib/Solver/Solver.cpp b/lib/Solver/Solver.cpp index 5fe973fe..e123a667 100644 --- a/lib/Solver/Solver.cpp +++ b/lib/Solver/Solver.cpp @@ -22,9 +22,8 @@ const char *Solver::validity_to_str(Validity v) { } } -Solver::~Solver() { - delete impl; -} +Solver::Solver(SolverImpl *impl) : impl(impl) {} +Solver::~Solver() = default; char *Solver::getConstraintLog(const Query& query) { return impl->getConstraintLog(query); -- cgit 1.4.1