diff --git a/MantleAPI/include/MantleAPI/Common/time_utils.h b/MantleAPI/include/MantleAPI/Common/time_utils.h index 6d4ac464fa73d96867d13529b947534bdb96776b..df544d3f030752c841557f1863eff1cdb52ab5cf 100644 --- a/MantleAPI/include/MantleAPI/Common/time_utils.h +++ b/MantleAPI/include/MantleAPI/Common/time_utils.h @@ -22,11 +22,13 @@ namespace mantle_api using Time = units::time::millisecond_t; /// @brief Converts input in [s] to @ref Time. +/// @tparam T Input type, e.g. `double`. /// @param duration Input value /// @return Duration representing the given input in units of @ref Time. -inline Time SecondsToTime(double duration) +template <typename T> +inline Time SecondsToTime(T duration) { - return units::time::second_t(duration); + return {std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::duration<T>{duration})}; } /// @brief Converts input @ref Time to [s].