John icon

Timer Class

John | PRO | 07/16/16 03:05:51 AM UTC | 0 ⭐ | 2068 👁️ | Never ⏰ | []
C++ |

620 B

|

None

|

0 👍

/

0 👎

//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;
    }
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎