diff --git a/include/ircd/util/timer.h b/include/ircd/util/timer.h index 769a9fcb4..1c4962218 100644 --- a/include/ircd/util/timer.h +++ b/include/ircd/util/timer.h @@ -60,12 +60,23 @@ struct ircd::util::timer void cont(); void stop(); + constexpr timer(nostart_t); + constexpr timer(const bool cond); timer(const std::function &); - timer(nostart_t); timer() = default; }; -inline +constexpr +ircd::util::timer::timer(const bool cond) +:start +{ + cond? + clock::now(): + clock::time_point::min() +} +{} + +constexpr ircd::util::timer::timer(nostart_t) :start {