SemOpt  0.2alpha5-SCC
Preferred.h
1 /*
2  * Preferred.h
3  *
4  * Created on: 10 Jun 2013
5  * Author: geryo
6  */
7 
8 #ifndef PREFERRED_H_
9 #define PREFERRED_H_
10 
11 #include "Labelling.h"
12 #include "SetArguments.h"
13 #include <vector>
14 #include "AF.h"
15 #include "SATFormulae.h"
16 #include <iostream>
17 #include <sstream>
18 
19 using namespace std;
20 
21 int precosat_lib(stringstream *the_cnf, int num_var, int num_cl, vector<int> *result);
22 
23 extern bool debug;
24 
25 class Preferred
26 {
27  SetArguments *A;
28  SetArguments *C;
29  int encoding;
30  SATFormulae sat_new_pigreek;
31  vector<Labelling> labellings;
32  int compute_new_pigreek();
33  bool satlab(SATFormulae, Labelling *);
34  void cleanlabs();
35 public:
36  typedef vector<Labelling>::iterator iterator;
37  Preferred();
38  virtual ~Preferred();
39  void prefSAT(SetArguments *, SetArguments *);
40  iterator begin();
41  iterator end();
42 };
43 
44 #endif /* PREFERRED_H_ */