Advertisement
John

Timer Class

Jul 15th, 2016
1,559
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.62 KB | None | 0 0
  1. //In .h
  2. class timer_s {
  3.     int interval;
  4.     int end_time;
  5.     bool repeat;
  6.     bool finished;
  7. public:
  8.     timer_s(int interval, bool repeat);
  9.     bool done();
  10. };
  11.  
  12. //In .cpp
  13. timer_s::timer_s(int interval, bool repeat) : interval(interval), repeat(repeat) {
  14.     end_time = ::time(NULL) + interval;
  15. }
  16. bool timer_s::done() {
  17.     bool done = ::time(NULL) >= end_time && !finished;
  18.     if (done) {
  19.         if(repeat) end_time = ::time(NULL) + interval;
  20.         else finished = true;
  21.     }
  22.     return done;
  23. }
  24.  
  25. //Usage
  26. while (true) {
  27.     static timer_s timer(1, true);
  28.     if (timer.done()) {
  29.         //will print "done" every 1 second
  30.         cout << "done" << endl;
  31.     }
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement