#pragma once #include "structures/Employee.h" #include "structures/Mission.h" #include "structures/Distances.h" #include typedef std::vector MissionList; class Assignment { public: /*float workTime; int travelDistance; int competenceTotal;*/ Distances* distances; Employee* employee; MissionList missions {}; Assignment(Employee* employee, Distances* distances): employee(employee), distances(distances) // workTime(0), travelDistance(0), competenceTotal(0), {}; float cost(); int getPreviousId(); int getPreviousId(int); void addMission(Mission* mission); void replaceMission(int i, MissionList*); Mission* removeMission(int i); Mission* getLastMission(int day); MissionList* getMissions(int day); int getSuitableMission(int, MissionList*, Mission**); MissionList* getSuitableMissions(int, MissionList*); int getCompetenceTotal(); float getTravelDistance(); float getWorkTime(int day); float getTotalWorkTime(); float getTotalWorkTime(Mission* mission); void print(); };