diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:57:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:57:58 +0000 |
commit | be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97 (patch) | |
tree | 9754ff1ca740f6346cf8483ec915d4054bc5da2d /ml/dlib/examples/timer_ex.cpp | |
parent | Initial commit. (diff) | |
download | netdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.tar.xz netdata-be1c7e50e1e8809ea56f2c9d472eccd8ffd73a97.zip |
Adding upstream version 1.44.3.upstream/1.44.3upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'ml/dlib/examples/timer_ex.cpp')
-rw-r--r-- | ml/dlib/examples/timer_ex.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/ml/dlib/examples/timer_ex.cpp b/ml/dlib/examples/timer_ex.cpp new file mode 100644 index 00000000..e1d55492 --- /dev/null +++ b/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 <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. +} + +// ---------------------------------------------------------------------------------------- + |