8 template<concepts::InstanceOf<Duration> To>
9 struct DurationCastFunction {
10 template<
typename Rep, math::detail::IsRatio Period>
11 constexpr auto operator()(Duration<Rep, Period>
const& from)
const -> To {
14 auto count =
static_cast<imax>(from.count());
16 count /= conversion_factor.denominator();
18 using Rep2 = To::Representation;
19 return To(
static_cast<Rep2
>(
count));
24template<concepts::InstanceOf<Duration> To>
25constexpr inline auto duration_cast = detail::DurationCastFunction<To> {};
constexpr auto numerator() const -> T
Definition rational.h:25
constexpr auto duration_cast
Definition duration_cast.h:25
intmax_t imax
Definition integers.h:40
Definition any_storable.h:9
constexpr auto count
Definition count.h:37
static constexpr Rational< ratio_intmax_t > rational
Definition ratio.h:36