Merge remote-tracking branch 'origin/master' into segfaultfix
[cvc5.git] / src / prop / sat_solver_factory.h
1 /********************* */
2 /*! \file sat_solver_factory.h
3 ** \verbatim
4 ** Original author: Dejan Jovanovic
5 ** Major contributors: none
6 ** Minor contributors (to current version): Liana Hadarean, Morgan Deters
7 ** This file is part of the CVC4 project.
8 ** Copyright (c) 2009-2014 New York University and The University of Iowa
9 ** See the file COPYING in the top-level source directory for licensing
10 ** information.\endverbatim
11 **
12 ** \brief SAT Solver.
13 **
14 ** SAT Solver creation facility
15 **/
16
17 #pragma once
18
19 #include "cvc4_public.h"
20
21 #include <string>
22 #include <vector>
23 #include "prop/sat_solver.h"
24
25 namespace CVC4 {
26 namespace prop {
27
28 class SatSolverFactory {
29 public:
30
31 static BVSatSolverInterface* createMinisat(context::Context* mainSatContext, const std::string& name = "");
32 static DPLLSatSolverInterface* createDPLLMinisat();
33
34 static SatSolver* create(const char* id);
35
36 /** Get the solver ids that are available */
37 static void getSolverIds(std::vector<std::string>& solvers);
38
39 };
40
41 }
42 }
43
44
45