SemOpt  0.2alpha5-SCC
Argument.h
1 /*
2  * Argument.h
3  *
4  * Created on: 13 May 2013
5  * Author: geryo
6  */
7 
8 #ifndef ARGUMENT_H_
9 #define ARGUMENT_H_
10 
11 #include <string>
12 using namespace std;
13 
14 
15 class AF;
21 typedef int Variable;
22 
27 #define NOT(x) (-x)
28 
29 
30 class Argument
31 {
32  string name;
33  int number;
34  AF *af;
35  SetArguments *attacks;
36  SetArguments *attackers;
37 public:
38  Argument(string, int, AF*);
39  virtual ~Argument();
40  string getName() const;
41  int getNumber() const;
42  AF *get_af();
43  Variable InVar();
44  Variable OutVar();
45  Variable UndecVar();
46  Variable NotInVar();
47  Variable NotOutVar();
48  Variable NotUndecVar();
49  bool operator==(const Argument &other) const;
50  bool operator!=(const Argument &other) const;
51  void add_attacks(Argument *);
52  void add_attackers(Argument *);
53  SetArguments *get_attacks();
54  SetArguments *get_attackers();
55 };
56 
57 #ifndef GRAPH_H_
58 #include "AF.h"
59 #include "SetArguments.h"
60 #endif
61 
62 
63 #endif /* ARGUMENT_H_ */