]> git.tdb.fi Git - libs/core.git/commitdiff
Make time constants constexpr and move them to the header
authorMikko Rasa <tdb@tdb.fi>
Tue, 3 Jan 2023 14:03:19 +0000 (16:03 +0200)
committerMikko Rasa <tdb@tdb.fi>
Tue, 3 Jan 2023 14:31:19 +0000 (16:31 +0200)
source/time/timedelta.cpp
source/time/timedelta.h

index a56e0fe8a3944763240b79689a55adc3d69c9ad5..5b381daffbaf6ac7be6b7b7432f21dfd82cc2a1e 100644 (file)
@@ -75,14 +75,5 @@ void operator<<(LexicalConverter &conv, const TimeDelta &td)
        conv.result(result);
 }
 
-const TimeDelta zero(0);
-const TimeDelta usec(1);
-const TimeDelta msec(1000);
-const TimeDelta sec(1000000);
-const TimeDelta min(60*1000000);
-const TimeDelta hour(3600*1000000LL);
-const TimeDelta day(86400*1000000LL);
-const TimeDelta week(7*86400*1000000LL);
-
 } // namespace Time
 } // namespace Msp
index a6c7005b9a35639875e36d85cc6d5b97ed169b5c..2ff4bdd9d4b18a2c5f1c19980c105c87bc75149f 100644 (file)
@@ -20,11 +20,11 @@ private:
 
 public:
        /** Constructs a zero TimeDelta. */
-       TimeDelta() = default;
+       constexpr TimeDelta() = default;
 
        /** Constructs a TimeDelta from a plain number.  The purpose of this is to
        allow serialization together with the raw() function. */
-       explicit TimeDelta(RawTime u): usec(u) { }
+       explicit constexpr TimeDelta(RawTime u): usec(u) { }
 
        /** Returns the raw number stored inside the TimeDelta.  This should only be used
        for serialization and the result should not be interpreted in any way. */
@@ -65,14 +65,14 @@ MSPCORE_API void operator<<(LexicalConverter &, const TimeDelta &);
 
 
 // Constants to be used in creation of TimeDeltas
-MSPCORE_API extern const TimeDelta zero;
-MSPCORE_API extern const TimeDelta usec;
-MSPCORE_API extern const TimeDelta msec;
-MSPCORE_API extern const TimeDelta sec;
-MSPCORE_API extern const TimeDelta min;
-MSPCORE_API extern const TimeDelta hour;
-MSPCORE_API extern const TimeDelta day;
-MSPCORE_API extern const TimeDelta week;
+constexpr TimeDelta zero(0);
+constexpr TimeDelta usec(1);
+constexpr TimeDelta msec(1000);
+constexpr TimeDelta sec(1000000);
+constexpr TimeDelta min(60*1000000);
+constexpr TimeDelta hour(3600*1000000LL);
+constexpr TimeDelta day(86400*1000000LL);
+constexpr TimeDelta week(7*86400*1000000LL);
 
 inline TimeDelta abs(const TimeDelta &t) { return t>=zero ? t : -t; }
 using std::abs;