-
Notifications
You must be signed in to change notification settings - Fork 0
/
Argument.h
68 lines (57 loc) · 1.23 KB
/
Argument.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
* Argument.h
*
* Created on: 13 May 2013
* Author: geryo
*/
#ifndef ARGUMENT_H_
#define ARGUMENT_H_
#include <string>
using namespace std;
class AF;
class SetArguments;
/**
* @class Variable Argument.h Argument.h
* @brief `Variable` is defined easily as a `typedef int Variable`
*/
typedef int Variable;
/**
* @def NOT(x)
* @brief Computes the negation of `Variable` x
*/
#define NOT(x) (-x)
class Argument
{
string name;
int number;
AF *af;
SetArguments *attacks;
SetArguments *attackers;
public:
Argument(string, int, AF*);
Argument(Argument argument, AF *gamma, int index);
virtual ~Argument();
string getName() const;
int getNumber() const;
AF *get_af();
Variable InVar();
Variable OutVar();
Variable UndecVar();
Variable NotInVar();
Variable NotOutVar();
Variable NotUndecVar();
bool operator==(const Argument &other) const;
bool operator!=(const Argument &other) const;
void add_attacks(Argument *);
void add_attackers(Argument *);
SetArguments *get_attacks();
SetArguments *get_attackers();
void set_attacks(SetArguments * set);
void set_attackers(SetArguments * set);
void set_number(int index);
};
#ifndef GRAPH_H_
#include "AF.h"
#include "SetArguments.h"
#endif
#endif /* ARGUMENT_H_ */