-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathArc.h
50 lines (41 loc) · 1020 Bytes
/
Arc.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
/**
* @file main.cpp
* @brief Programme principale
*
* Ce programme EST UN LOGICIEL LIBRE. Vous pouvez le redistribuer.
*/
/**
* Au dessus Doxygen-style documentation, qui facilite
* la generation des doc doxygen.
*/
#ifndef ARC_H_
#define ARC_H_
using namespace std;
typedef struct Arc {
char debut { };
int longueur { };
char fin { };
Arc();
Arc(char, int, char);
} Arc;
Arc::Arc() {
}
Arc::Arc(char d, int l, char f) :
debut(d), longueur(l), fin(f) {
}
ostream& operator<<(ostream& strm, Arc const& obj) {
return strm << obj.debut << " --[" << obj.longueur << "]--> " << obj.fin;
}
/**
* Definir une structure pour determiner si un arc est plus grad
* qu'un autre arc. Cette structure serve du troisieme argument
* pour le map des arc (veuillez voir dans "Graph_or.h").
*/
struct ArcComparer {
bool operator()(const Arc& first, const Arc& second) const {
if (first.debut == second.debut)
return first.fin < second.fin;
return first.debut < second.debut;
}
};
#endif /* ARC_H_ */