summaryrefslogtreecommitdiffhomepage
path: root/compat
diff options
context:
space:
mode:
Diffstat (limited to 'compat')
-rw-r--r--compat/time.hpp6
-rw-r--r--compat/timer.hpp7
2 files changed, 4 insertions, 9 deletions
diff --git a/compat/time.hpp b/compat/time.hpp
index 64cdc6f7..0d171038 100644
--- a/compat/time.hpp
+++ b/compat/time.hpp
@@ -7,12 +7,6 @@ namespace time_units {
template<typename repr, typename ratio = std::ratio<1>>
using duration = std::chrono::duration<repr, ratio>;
-template<typename t, typename u>
-static inline constexpr auto time_cast(u&& in)
-{
- return std::chrono::duration_cast<t>(in);
-}
-
using secs = duration<float>;
using ms = duration<float, std::milli>;
using us = duration<float, std::micro>;
diff --git a/compat/timer.hpp b/compat/timer.hpp
index 26e612b0..d162a949 100644
--- a/compat/timer.hpp
+++ b/compat/timer.hpp
@@ -22,16 +22,17 @@ struct OTR_COMPAT_EXPORT Timer final
void start();
template<typename t>
- t elapsed() const
+ constexpr auto elapsed() const
{
- using namespace time_units;
- return time_cast<t>(ns(elapsed_nsecs()));
+ using ns = time_units::ns;
+ return t{ns{elapsed_nsecs()}};
}
time_type elapsed_nsecs() const;
double elapsed_usecs() const;
double elapsed_ms() const;
double elapsed_seconds() const;
+
private:
struct timespec state {};
static void gettime(struct timespec* state);