-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPredicate.h
47 lines (40 loc) · 1.16 KB
/
Predicate.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
#include <string>
#include <vector>
#include "Parameter.h"
#pragma once
using namespace std;
class Predicate {
private:
std::string id;
std::vector<Parameter> parameters;
public:
Predicate(std::string id) : id(id) {}
Predicate(std::string id, std::vector<Parameter> parameters) : id(id), parameters(parameters) {}
void addParameter(Parameter p) {
parameters.push_back(p);
}
std::string getId() {
return id;
}
void setId(std::string id) {
this->id = id;
}
vector<string> getParameters() {
vector<string> output;
for (Parameter p : parameters) {
output.push_back(p.toString());
}
return output;
}
std::string toString() {
std::string output = id + "(";
for (unsigned int i = 0; i < parameters.size(); i++) {
output += parameters.at(i).toString();
if (i != parameters.size() - 1) {
output += ",";
}
}
output += ")";
return output;
}
};