From f88b09c81a8d48cebbb3ef2eb6f0cf5b62299f03 Mon Sep 17 00:00:00 2001 From: Morgan Caron Date: Sun, 20 Sep 2026 01:20:15 +0200 Subject: [PATCH] refactor(chrono): modernize Chronometer API with template elapsed() method --- modules/Chrono/Chronometer.mpp | 5 +++-- modules/Log/ChronoLogger.mpp | 2 +- tests/Chrono/Chronometer.mpp | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/Chrono/Chronometer.mpp b/modules/Chrono/Chronometer.mpp index a5c78c1c..2a3621da 100644 --- a/modules/Chrono/Chronometer.mpp +++ b/modules/Chrono/Chronometer.mpp @@ -55,9 +55,10 @@ export namespace CppUtils::Chrono m_end = Clock::now(); } - [[nodiscard]] inline auto getDuration() const + template + [[nodiscard]] inline auto elapsed() const -> Duration { - return m_end - m_start; + return std::chrono::duration_cast(m_end - m_start); } private: diff --git a/modules/Log/ChronoLogger.mpp b/modules/Log/ChronoLogger.mpp index a9145512..61d48b72 100644 --- a/modules/Log/ChronoLogger.mpp +++ b/modules/Log/ChronoLogger.mpp @@ -33,7 +33,7 @@ export namespace CppUtils::Log return; m_enabled = false; m_chrono.stop(); - m_callback(Chrono::durationToString(m_chrono.getDuration())); + m_callback(Chrono::durationToString(m_chrono.elapsed())); } private: diff --git a/tests/Chrono/Chronometer.mpp b/tests/Chrono/Chronometer.mpp index f444f497..0a0297f3 100644 --- a/tests/Chrono/Chronometer.mpp +++ b/tests/Chrono/Chronometer.mpp @@ -11,7 +11,7 @@ namespace CppUtils::UnitTest::Chrono::Chronometer suite.addTest("Chronometer", [&] { auto chrono = CppUtils::Chrono::Chronometer{}; chrono.stop(); - auto string = CppUtils::Chrono::durationToString(chrono.getDuration()); + auto string = CppUtils::Chrono::durationToString(chrono.elapsed()); suite.expect(not std::ranges::empty(string)); Logger::print("{}", string); });