aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Chrono.hxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Chrono.hxx b/src/Chrono.hxx
index e9edb8b09..4c9fafe58 100644
--- a/src/Chrono.hxx
+++ b/src/Chrono.hxx
@@ -37,6 +37,14 @@ public:
template<typename T>
explicit constexpr SongTime(T t):Base(t) {}
+ /**
+ * This constructor allows implicit conversion from the base
+ * class to this class. It is necessary because all of
+ * std::chrono::duration's operators return another
+ * std::chrono::duration and not an instance of this class.
+ */
+ constexpr SongTime(Base b):Base(b) {}
+
static constexpr SongTime FromS(unsigned s) {
return SongTime(rep(s) * 1000);
}