SemOpt  0.2alpha2-SCC
Labelling.h
1 
2 #include <map>
3 #include <string>
4 using namespace std;
5 
6 #include "Argument.h"
7 #include "SetArguments.h"
8 
9 #ifndef LABELLING_H_
10 #define LABELLING_H_
11 
12 typedef string Label;
13 
14 class Labelling
15 {
16  map<Argument *, Label> labelling;
17  SetArguments in;
18  SetArguments out;
19  SetArguments undec;
20 
21 public:
22  const static Label lab_in;
23  const static Label lab_out;
24  const static Label lab_undec;
25  Labelling();
26  virtual ~Labelling();
27  void add_label(Argument *, Label);
28  bool exists_argument_labelling(Argument *);
29  Label get_label(Argument *);
30  SetArguments *inargs();
31  SetArguments *outargs();
32  SetArguments *undecargs();
33  bool empty();
34  void clone(Labelling *);
35 };
36 
37 #endif /* LABELLING_H_ */