//---------------------------------------------------------------------------
#ifndef laerer_skemaH
#define laerer_skemaH
#include "skema.h"
//#include "lektion.h"
//---------------------------------------------------------------------------
class laerer_skema : public skema
{
public:
  //Konstruktører
	laerer_skema(string ID_);
    laerer_skema();

  //Sandheds operatorer
    bool operator ==(const laerer_skema& a);
    bool operator !=(const laerer_skema& a);
    bool operator <=(const laerer_skema& a);
    bool operator >=(const laerer_skema& a);
    bool operator >(const laerer_skema& a);
    bool operator <(const laerer_skema& a);
    void operator =(const laerer_skema& a);

  //access funktioner
    //Funktionen vurdere om der kan placeres en lektion i det overførte koordinat.
    bool Vurder(int col, int row);

	//Funktionen optæller alle de prioriterede lektioner på lærens prioritets skema
	//og returnere denne.
    int OptaelPrioriteredeLektioner();

	//Funktionen fylder tager en kopi af hver prioritet over i en speciel PlektionsData
	//klasse. Herefter fyldes disse kopier på en stack der returneres
    void HentPSkema(stack<PLektionsData*>& Stack);

  //Update funktion
    //Funktionen lægger en prioritets lektioner ned på lærens Prioritets skema
    bool LaegPLektion(int prioritet, int col, int row);

  //Udskrivs funktion
    ///Funktionen udskriver prioritets skemaet.
    void UdskrivPSkema();

private:
	int PSkema[max_col][max_row];  //Array indeholdende lærens prioriteter
    PLektionsData* PLektion;       //Benyttes til export af prioriterede lektioner
};
#endif
