TDT4102-Ovinger/Oving8/Oving 8/Meeting.h

63 lines
876 B
C
Raw Normal View History

2019-03-03 21:46:58 +01:00
#pragma once
#include "std_lib_facilities.h"
#include "Person.h"
enum class Campus
{
2019-03-04 15:10:11 +01:00
Trondheim,
<EFBFBD>lesund,
Gj<EFBFBD>vik
2019-03-03 21:46:58 +01:00
};
ostream& operator<<(ostream& os, const Campus& c);
class Meeting
{
int day;
int startTime;
int endTime;
2019-03-04 15:10:11 +01:00
2019-03-03 21:46:58 +01:00
Campus location;
2019-03-04 15:10:11 +01:00
2019-03-03 21:46:58 +01:00
string subject;
2019-03-04 15:10:11 +01:00
2019-03-03 21:46:58 +01:00
const Person* leader;
2019-03-04 15:10:11 +01:00
2019-03-03 21:46:58 +01:00
set<const Person*> participants;
2019-03-04 15:10:11 +01:00
static set<const Meeting*> meetings;
public:
Meeting(int d, int sT, int eT, Campus loc, string sub, Person* lead);
2019-03-03 21:46:58 +01:00
int getDay() const;
int getStartTime() const;
int getEndTime() const;
2019-03-04 15:10:11 +01:00
2019-03-03 21:46:58 +01:00
Campus getLocation() const;
2019-03-04 15:10:11 +01:00
2019-03-03 21:46:58 +01:00
string getSubject() const;
2019-03-04 15:10:11 +01:00
2019-03-03 21:46:58 +01:00
const Person* getLeader() const;
2019-03-04 15:10:11 +01:00
void addParticipant(Person* person);
set<const Person*> getParticipants() const;
vector<string> getParticipantList() const;
vector<const Person*> findPotentialCoDriving() const;
~Meeting();
2019-03-03 21:46:58 +01:00
};
2019-03-04 15:10:11 +01:00
ostream& operator<<(ostream& os, const Meeting& m);
2019-03-03 21:46:58 +01:00