add getters

This commit is contained in:
Mylloon 2023-10-28 04:14:51 +02:00
parent f4782634ce
commit 74ad46d137
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
4 changed files with 22 additions and 11 deletions

View file

@ -12,6 +12,10 @@ class Tache final {
enum Etat { EnAttente, Realisee }; enum Etat { EnAttente, Realisee };
friend std::ostream &operator<<(std::ostream &, const Etat &); friend std::ostream &operator<<(std::ostream &, const Etat &);
// Nom de la tâche
std::string name;
// Durée totale pour faire la tâche
int duree_total;
// Etat actuelle de la tâche // Etat actuelle de la tâche
enum Etat etat; enum Etat etat;
// Liste des dépendances // Liste des dépendances
@ -25,10 +29,6 @@ class Tache final {
public: public:
// ID unique de la tâche // ID unique de la tâche
const int unique_id; const int unique_id;
// Nom de la tâche
std::string name;
// Durée totale pour faire la tâche
int duree_total;
// Vrai si la tâche à été visitée par le parcours en profondeur // Vrai si la tâche à été visitée par le parcours en profondeur
bool visite; bool visite;
@ -52,6 +52,12 @@ public:
// Parcours en profondeur // Parcours en profondeur
void PP_postfixe(std::vector<Tache *> &); void PP_postfixe(std::vector<Tache *> &);
// Récupère la durée totale
int get_duree_totale() const;
// Récupère le nom
std::string get_name() const;
}; };
#endif #endif

View file

@ -18,7 +18,7 @@ std::pair<std::vector<int>, int> Consultant::avis(const RunProjet &projet) {
// TODO // TODO
int duree_totale = 0; int duree_totale = 0;
for (const Tache *it : projet.consult_tasks()) { for (const Tache *it : projet.consult_tasks()) {
duree_totale += it->duree_total; duree_totale += it->get_duree_totale();
} }
return std::make_pair(std::vector<int>(), duree_totale); return std::make_pair(std::vector<int>(), duree_totale);

View file

@ -86,7 +86,7 @@ Tache *Projet::contains(const int id) const {
Tache *Projet::contains(const std::string name) const { Tache *Projet::contains(const std::string name) const {
for (Tache *t : this->taches) { for (Tache *t : this->taches) {
if (name == t->name) { if (name == t->get_name()) {
return t; return t;
} }
} }

View file

@ -3,8 +3,9 @@
int Tache::counter_id = 0; int Tache::counter_id = 0;
Tache::Tache(const std::string n, const int duree) Tache::Tache(const std::string n, const int duree)
: etat(EnAttente), dependances(std::vector<Tache *>()), : name(n), duree_total(duree), etat(EnAttente),
unique_id(counter_id++), name(n), duree_total(duree), visite(false) {} dependances(std::vector<Tache *>()), unique_id(counter_id++),
visite(false) {}
Tache::~Tache() {} Tache::~Tache() {}
@ -17,8 +18,8 @@ void Tache::_copy(const Tache &src) {
} }
Tache::Tache(const Tache &src) Tache::Tache(const Tache &src)
: etat(src.etat), unique_id(counter_id++), name(src.name), : name(src.name), duree_total(src.duree_total), etat(src.etat),
duree_total(src.duree_total), visite(src.visite) { unique_id(counter_id++), visite(src.visite) {
_copy(src); _copy(src);
} }
@ -26,9 +27,9 @@ const Tache &Tache::operator=(const Tache &src) {
if (this == &src) { if (this == &src) {
return *this; return *this;
} }
etat = src.etat;
name = src.name; name = src.name;
duree_total = src.duree_total; duree_total = src.duree_total;
etat = src.etat;
visite = src.visite; visite = src.visite;
_copy(src); _copy(src);
return *this; return *this;
@ -126,3 +127,7 @@ void Tache::PP_postfixe(std::vector<Tache *> &pile) {
// Moment post-fix du parcours // Moment post-fix du parcours
pile.push_back(this); pile.push_back(this);
} }
int Tache::get_duree_totale() const { return duree_total; }
std::string Tache::get_name() const { return name; }