From a8c3ade2634b4266a7a780ed0adea35a4ab208b1 Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Sat, 15 Jul 2023 09:55:58 +0200 Subject: [PATCH] progress: add progress_switcher Signed-off-by: Simon Rozman --- include/stdex/progress.hpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/include/stdex/progress.hpp b/include/stdex/progress.hpp index 835d3d6f9..a553bcb9b 100644 --- a/include/stdex/progress.hpp +++ b/include/stdex/progress.hpp @@ -261,4 +261,30 @@ namespace stdex progress* m_host; interval m_kaz, m_glob, m_odsek; }; + + /// + /// Progress indicator switcher + /// + /// Use to inject global_progress indicator inplace of another progress indicator. + /// + + template + class progress_switcher : public global_progress + { + public: + progress_switcher(progress*& host) : + global_progress(host), + m_host_ref(host) + { + m_host_ref = this; + } + + ~progress_switcher() + { + m_host_ref = detach(); + } + + protected: + progress*& m_host_ref; + }; } \ No newline at end of file