-
Notifications
You must be signed in to change notification settings - Fork 1
/
conflict_set.h
29 lines (26 loc) · 758 Bytes
/
conflict_set.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
#ifndef CONFLICTSET_H
#define CONFLICTSET_H
#include <vector>
#include <algorithm>
#include <unordered_set>
#include <set>
#include "conflict.h"
#include "node.h"
class ConflictSet
{
public:
void addCardinalConflict(Conflict &conflict);
void addSemiCardinalConflict(Conflict &conflict);
void addNonCardinalConflict(Conflict &conflict);
void replaceAgentConflicts(int agentId, ConflictSet &agentConflicts);
bool empty();
Conflict getBestConflict();
int getConflictCount();
int getCardinalConflictCount();
std::vector<Conflict> getCardinalConflicts();
int getMatchingHeuristic();
int getConflictingPairsCount();
//private:
std::vector<Conflict> cardinal, semiCardinal, nonCardinal;
};
#endif // CONFLICTSET_H