Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //In .h
- class timer_s {
- int interval;
- int end_time;
- bool repeat;
- bool finished;
- public:
- timer_s(int interval, bool repeat);
- bool done();
- };
- //In .cpp
- timer_s::timer_s(int interval, bool repeat) : interval(interval), repeat(repeat) {
- end_time = ::time(NULL) + interval;
- }
- bool timer_s::done() {
- bool done = ::time(NULL) >= end_time && !finished;
- if (done) {
- if(repeat) end_time = ::time(NULL) + interval;
- else finished = true;
- }
- return done;
- }
- //Usage
- while (true) {
- static timer_s timer(1, true);
- if (timer.done()) {
- //will print "done" every 1 second
- cout << "done" << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement