From 21d2df4d347f9954dc9d69a7fda4a48140bdc894 Mon Sep 17 00:00:00 2001 From: Hayodea Hakol Date: Wed, 10 Sep 2025 11:54:26 -0400 Subject: [PATCH] AsyncLoop: Add auto-incrementing & completion testing methods These basically make it almost impossible to commit errors in async loop logic implementation. --- include/asynchronousLoop.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/include/asynchronousLoop.h b/include/asynchronousLoop.h index ed9f409..9eff398 100644 --- a/include/asynchronousLoop.h +++ b/include/asynchronousLoop.h @@ -18,6 +18,20 @@ public: return nSucceeded + nFailed == nTotal; } + void incrementSuccessOrFailureDueTo(bool success) + { + if (success) + { ++nSucceeded; } + else + { ++nFailed; } + } + + bool incrementSuccessOrFailureAndTestForCompletionDueTo(bool success) + { + incrementSuccessOrFailureDueTo(success); + return isComplete(); + } + public: std::atomic nTotal, nSucceeded, nFailed; };