From 9c4fd5546c9fae791eb73a67f7de582e968fa2ec Mon Sep 17 00:00:00 2001 From: MorawskiR Date: Sat, 11 Dec 2021 02:34:44 +0100 Subject: [PATCH 1/2] work --- homework/schedule/schedule.hpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 homework/schedule/schedule.hpp diff --git a/homework/schedule/schedule.hpp b/homework/schedule/schedule.hpp new file mode 100644 index 0000000..1d44598 --- /dev/null +++ b/homework/schedule/schedule.hpp @@ -0,0 +1,34 @@ +#pragma once +#include +#include +#include +#include +#include +#include + + + +void schedule(std::function func, std::chrono::seconds duration) +{ + + std::this_thread::sleep_for (std::chrono::seconds(duration)); + func(); +} +// +void schedule(std::function func, std::chrono::seconds duration, int value) +{ + std::this_thread::sleep_for (std::chrono::seconds(duration)); + func(value); +} + +void schedule(std::function func, std::chrono::seconds duration, std::string s, double d) +{ + std::this_thread::sleep_for (std::chrono::seconds(duration)); + func(s, d); +} + +template +auto schedule(Function Func , Duration duration, Argument ...arg){ + std::this_thread::sleep_for(duration); + Func(arg...); +} \ No newline at end of file From 5bfb96e41fe0e1aec87a9e17687c46b75740fb17 Mon Sep 17 00:00:00 2001 From: MorawskiR Date: Sun, 22 Feb 2026 13:34:05 +0100 Subject: [PATCH 2/2] Update schedule.hpp --- homework/schedule/schedule.hpp | 33 +++++++-------------------------- 1 file changed, 7 insertions(+), 26 deletions(-) diff --git a/homework/schedule/schedule.hpp b/homework/schedule/schedule.hpp index 1d44598..2a2cf80 100644 --- a/homework/schedule/schedule.hpp +++ b/homework/schedule/schedule.hpp @@ -1,34 +1,15 @@ #pragma once #include -#include #include #include -#include #include +void schedule(std::function func, std::chrono::seconds duration); +void schedule(std::function func, std::chrono::seconds duration, int value); +void schedule(std::function func, std::chrono::seconds duration, std::string str, double value); - -void schedule(std::function func, std::chrono::seconds duration) -{ - - std::this_thread::sleep_for (std::chrono::seconds(duration)); - func(); -} -// -void schedule(std::function func, std::chrono::seconds duration, int value) -{ - std::this_thread::sleep_for (std::chrono::seconds(duration)); - func(value); +template +void schedule(Func func, std::chrono::seconds dur, Args... args) { + std::this_thread::sleep_for(dur); + func(args...); } - -void schedule(std::function func, std::chrono::seconds duration, std::string s, double d) -{ - std::this_thread::sleep_for (std::chrono::seconds(duration)); - func(s, d); -} - -template -auto schedule(Function Func , Duration duration, Argument ...arg){ - std::this_thread::sleep_for(duration); - Func(arg...); -} \ No newline at end of file