Files
cppcourse/397/SolutionEx31Bonus/TimerSet.cpp
T
2026-10-05 11:27:21 +02:00

34 lines
833 B
C++

#include "TimerSet.h"
#include "Timer.h"
#include <iostream>
TimerSet::TimerSet()
: /* timersInUse(), */ previousTime(time(NULL))
// 3.1 bonus: removed init
{}
void TimerSet::addATimer(Timer *t) {
// timers[timersInUse++] = t; 3.1 bonus: uses vector
timers.push_back(t);
}
void TimerSet::pollAllTimers() {
std::time_t timeNow;
if (time(&timeNow) > previousTime) {
previousTime = timeNow;
// for(int i=0; i < timersInUse; ++i)
//{
// timers[i]->tick();
//} Bonus 3.1: use iterator for the vector
for (auto it = timers.begin(); it != timers.end(); it++) {
(*it)->tick();
}
}
}
TimerSet &TimerSet::Instance() {
// Meyer's Singleton implementation
static TimerSet pInstance;
return pInstance;
}