From 5da14042f70711ea5cf66e034699730335462f66 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 5 May 2024 14:08:03 +0200 Subject: Merging upstream version 1.45.3+dfsg. Signed-off-by: Daniel Baumann --- src/ml/dlib/examples/timer_ex.cpp | 56 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/ml/dlib/examples/timer_ex.cpp (limited to 'src/ml/dlib/examples/timer_ex.cpp') diff --git a/src/ml/dlib/examples/timer_ex.cpp b/src/ml/dlib/examples/timer_ex.cpp new file mode 100644 index 000000000..e1d554926 --- /dev/null +++ b/src/ml/dlib/examples/timer_ex.cpp @@ -0,0 +1,56 @@ +// 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 +#include // for dlib::sleep +#include + +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 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. +} + +// ---------------------------------------------------------------------------------------- + -- cgit v1.2.3