From e0aac447e8c833dfbded90c9523bb61e0dfa0a41 Mon Sep 17 00:00:00 2001 From: anulax1225 Date: Mon, 25 Mar 2024 22:22:40 +0100 Subject: [PATCH] Added namespace Bk --- src/bakatools/time/time_point.h | 88 +++++++++++++++++---------------- src/bakatools/time/time_span.h | 76 ++++++++++++++-------------- 2 files changed, 84 insertions(+), 80 deletions(-) diff --git a/src/bakatools/time/time_point.h b/src/bakatools/time/time_point.h index 33238ff..0903372 100644 --- a/src/bakatools/time/time_point.h +++ b/src/bakatools/time/time_point.h @@ -1,48 +1,50 @@ #pragma once -#include +#include #include "time_span.h" -template -struct TimePoint -{ - TimePoint() = default; - TimePoint(std::chrono::time_point point) +namespace Bk { + template + struct TimePoint { - this->point = std::chrono::time_point_cast>(point); - } - - template - TimePoint as_unit() - { - return TimePoint(std::chrono::time_point_cast>(point)); - } - - template - TimePoint as_clock() - { - return TimePoint(std::chrono::clock_cast(point)); - } - - TimeSpan

elasped() - { - return TimeSpan

(point.time_since_epoch()); - } - - bool is_steady() - { - return C::is_steady; - } - - TimeSpan

operator-(TimePoint& tp) - { - return TimeSpan

(point - tp.point); - } - - static TimePoint now() - { - return TimePoint(C::now()); - } - - std::chrono::time_point> point; -}; \ No newline at end of file + TimePoint() = default; + TimePoint(std::chrono::time_point point) + { + this->point = std::chrono::time_point_cast>(point); + } + + template + TimePoint as_unit() + { + return TimePoint(std::chrono::time_point_cast>(point)); + } + + template + TimePoint as_clock() + { + return TimePoint(std::chrono::clock_cast(point)); + } + + TimeSpan

elasped() + { + return TimeSpan

(point.time_since_epoch()); + } + + bool is_steady() + { + return C::is_steady; + } + + TimeSpan

operator-(TimePoint& tp) + { + return TimeSpan

(point - tp.point); + } + + static TimePoint now() + { + return TimePoint(C::now()); + } + + std::chrono::time_point> point; + }; +} \ No newline at end of file diff --git a/src/bakatools/time/time_span.h b/src/bakatools/time/time_span.h index 966c2d4..921c5ab 100644 --- a/src/bakatools/time/time_span.h +++ b/src/bakatools/time/time_span.h @@ -1,40 +1,42 @@ #pragma once -#include - -using Nanosecond = std::ratio<1,1000000000>; -using Microsecond = std::ratio<1,1000000>; -using Millisecond = std::ratio<1,1000>; -using Second = std::ratio<1,1>; -using Minute = std::ratio<60, 1>; -using Hour = std::ratio<3600, 1>; -using Day = std::ratio<84600, 1>; - -using SysClock = std::chrono::system_clock; -using SteadyClock = std::chrono::steady_clock; -using FileClock = std::chrono::file_clock; -using UtcClock = std::chrono::utc_clock; - -template -struct TimeSpan -{ - TimeSpan(int interval = 0) - : interval(std::chrono::duration(interval)) {} - TimeSpan(std::chrono::duration interval) - : interval(interval) {} - - template - TimeSpan as_unit() +#include + +namespace Bk { + using Nanosecond = std::ratio<1,1000000000>; + using Microsecond = std::ratio<1,1000000>; + using Millisecond = std::ratio<1,1000>; + using Second = std::ratio<1,1>; + using Minute = std::ratio<60, 1>; + using Hour = std::ratio<3600, 1>; + using Day = std::ratio<84600, 1>; + + using SysClock = std::chrono::system_clock; + using SteadyClock = std::chrono::steady_clock; + using FileClock = std::chrono::file_clock; + using UtcClock = std::chrono::utc_clock; + + template + struct TimeSpan { - return TimeSpan(std::chrono::duration_cast>(interval)); - } - - int count() { return interval.count(); } - - TimeSpan

operator-(TimeSpan

& time_span) - { - return TimeSpan

(interval - time_span.interval); - } - - std::chrono::duration interval; -}; \ No newline at end of file + TimeSpan(int interval = 0) + : interval(std::chrono::duration(interval)) {} + TimeSpan(std::chrono::duration interval) + : interval(interval) {} + + template + TimeSpan as_unit() + { + return TimeSpan(std::chrono::duration_cast>(interval)); + } + + int count() { return interval.count(); } + + TimeSpan

operator-(TimeSpan

& time_span) + { + return TimeSpan

(interval - time_span.interval); + } + + std::chrono::duration interval; + }; +} \ No newline at end of file