summaryrefslogtreecommitdiff
path: root/src/prop/sat_solver_factory.cpp
diff options
context:
space:
mode:
authorDejan Jovanović <dejan.jovanovic@gmail.com>2012-03-26 19:42:25 +0000
committerDejan Jovanović <dejan.jovanovic@gmail.com>2012-03-26 19:42:25 +0000
commit6fdc62f34bb1d04b84dfd628ec16335b8f02385e (patch)
tree44755057990ad99f6f47904a0201d33c9be18c9c /src/prop/sat_solver_factory.cpp
parent1ed3b1803bd0a25c56a62d290cd5dcb64c5085ce (diff)
Global registry of SAT solvers, where they are registered at compile time. The available SAT solvers can be seen with the --show-sat-solvers option.
Diffstat (limited to 'src/prop/sat_solver_factory.cpp')
-rw-r--r--src/prop/sat_solver_factory.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/prop/sat_solver_factory.cpp b/src/prop/sat_solver_factory.cpp
index fbb244789..c5972d7bb 100644
--- a/src/prop/sat_solver_factory.cpp
+++ b/src/prop/sat_solver_factory.cpp
@@ -17,6 +17,7 @@
**/
#include "prop/sat_solver_factory.h"
+#include "prop/sat_solver_registry.h"
#include "prop/minisat/minisat.h"
#include "prop/bvminisat/bvminisat.h"
@@ -31,6 +32,16 @@ DPLLSatSolverInterface* SatSolverFactory::createDPLLMinisat() {
return new DPLLMinisatSatSolver();
}
+SatSolver* SatSolverFactory::create(const char* name) {
+ SatSolverConstructorInterface* constructor = SatSolverRegistry::getConstructor(name);
+ if (constructor) {
+ return constructor->construct();
+ } else {
+ return NULL;
+ }
+}
-
+void SatSolverFactory::getSolverIds(std::vector<std::string>& solvers) {
+ SatSolverRegistry::getSolverIds(solvers);
+}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback