// The contents of this file are in the public domain. See LICENSE_FOR_EXAMPLE_PROGRAMS.txt /* This is an example illustrating the use of the timer object from the dlib C++ Library. The timer is an object that calls some user specified member function at regular intervals from another thread. */ #include <dlib/timer.h> #include <dlib/misc_api.h> // for dlib::sleep #include <iostream> using namespace dlib; using namespace std; // ---------------------------------------------------------------------------------------- class timer_example { public: void action_function() { // print out a message so we can see that this function is being triggered cout << "action_function() called" << endl; } }; // ---------------------------------------------------------------------------------------- int main() { timer_example e; // Here we construct our timer object. It needs two things. The second argument is // the member function it is going to call at regular intervals and the first argument // is the object instance it will call that member function on. timer<timer_example> t(e, &timer_example::action_function); // Set the timer object to trigger every second t.set_delay_time(1000); // Start the timer. It will start calling the action function 1 second from this call // to start. t.start(); // Sleep for 10 seconds before letting the program end. dlib::sleep(10000); // The timer will destruct itself properly and stop calling the action_function. } // ----------------------------------------------------------------------------------------