#ifndef TP5_PROJET_HPP
#define TP5_PROJET_HPP 1
#include <iostream>
#include <vector>
#include <utility>
#include "../includes/Tache.hpp"
class Projet {
//Héritage de tache ?
//Tache fin;
std::vector<Tache *, bool> taches;
friend std::ostream &operator<<(std::ostream &, const Projet &);
public:
Projet();
Projet(std::vector<Tache *, bool> taches); // constructor
virtual ~Projet(); // destructor
Projet(const Projet &); // copy constructor
const Projet &operator=(const Projet &); // copy assignement
std::vector<Tache *, bool> getTaches(){
return taches;
}
// Retourne une paire d'indentifiants de tâches au hasard
std::pair <int, int> pick_two_random_tasks();
// Indique pour une tâche si elle fait partie du projet
Tache* Projet::contains(int id);
// Donne une version du vecteur de tâches non modifiable
const std::vector<Tache *, bool> consult_tasks() const{
};
// Corrige les éventuelles anomalies du vector de tâches
const std::vector<Tache *, bool> topologicalSort();
#endif