-
Notifications
You must be signed in to change notification settings - Fork 0
/
Tache.h
50 lines (42 loc) · 1.06 KB
/
Tache.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 TACHE_H_
#define TACHE_H_
#include <iostream>
using namespace std;
typedef struct Tache {
char nom;
int duree;
int date_tot { -1 };
int date_tard { -1 };
int rang { -1 };
/**
* Tous les predecessuers (contraintes) de la tache
* sous forme d'une chaine de caracteres.
*/
std::string pred;
/**
* Tous les successeurs de la tache sous forme de chaine
* de caracteres.
*/
std::string succ;
Tache(char, int, std::string);
} Tache;
Tache::Tache(char n, int d, string p) :
nom { n }, duree { d }, pred { p } {
}
ostream& operator<<(ostream& strm, Tache const & obj) {
return strm << obj.nom << "\t" << obj.duree << "\t"
<< (obj.pred.size() ? obj.pred : "[NULL]") << "\t"
<< (obj.succ.size() ? obj.succ : "[NULL]") << "\t" << obj.rang
<< "\t" << obj.date_tot << "\t\t" << obj.date_tard << "";
}
#endif /* TACHE_H_ */