From 4143541adfb34c69584a16c0cef6e138ddfb7ab8 Mon Sep 17 00:00:00 2001 From: Hayodea Hakol Date: Wed, 10 Sep 2025 11:06:29 -0400 Subject: [PATCH] Async: add AsyncLoop bounds tracker --- include/asynchronousLoop.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 include/asynchronousLoop.h diff --git a/include/asynchronousLoop.h b/include/asynchronousLoop.h new file mode 100644 index 0000000..fd596cf --- /dev/null +++ b/include/asynchronousLoop.h @@ -0,0 +1,30 @@ +#ifndef ASYNCHRONOUS_LOOP_H +#define ASYNCHRONOUS_LOOP_H + +#include + +namespace smo { + +class AsynchronousLoop +{ +public: + AsynchronousLoop( + unsigned int nTotal, unsigned int nSucceeded=0, unsigned int nFailed=0) + : nTotal(nTotal), nSucceeded(nSucceeded), nFailed(nFailed) + { + } + + ~AsynchronousLoop(void); + + bool isComplete(void) const + { + return nSucceeded + nFailed == nTotal; + } + +public: + std::atomic nTotal, nSucceeded, nFailed; +}; + +} // namespace smo + +#endif