Crevice  0.1
 All Classes Functions Variables Pages
Solver.h
1 /*
2  * File: Solver.h
3  * Author: zfsdt
4  *
5  * Created on 15. September 2012, 18:00
6  */
7 
8 #ifndef SOLVER_H
9 #define SOLVER_H
10 
11 #include "problem/Term.h"
12 #include <map>
13 #include <string>
14 
15 class Solver {
16 
20  typedef enum {
24  FAILURE = -1,
28  SUCCESS = 1,
32  MAXEVAL_REACHED = 5
33  } result;
34 
35 public:
36  double getOptionDouble(const std::string &name);
37  std::string getOptionString(const std::string &name);
38  void setOptionDouble(const std::string &name, const double &value);
39  void setOptionString(const std::string &name, const std::string &value);
40  virtual result solve(Problem problem, const DoubleVector* variableValues);
41  Solver();
42  virtual ~Solver();
43 protected:
44 private:
45  Solver(const Solver&);
46  std::map<const std::string, std::string> *optionsString;
47  std::map<const std::string, double> *optionsDouble;
48 };
49 
50 #endif /* SOLVER_H */
51