10template<
typename Rep, math::detail::IsRatio Per>
23 template<
typename Val>
27 template<
typename Rep2,
typename Period2>
58template<
typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith<Rep1> Rep2, math::detail::IsRatio Period2>
64template<
typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith<Rep1> Rep2, math::detail::IsRatio Period2>
70template<
typename Rep, math::detail::IsRatio Period, concepts::CommonWith<Rep> Value>
73 return R(R(a).
count() * b);
76template<
typename Rep, math::detail::IsRatio Period, concepts::CommonWith<Rep> Value>
79 return R(a * R(b).
count());
82template<
typename Rep, math::detail::IsRatio Period, concepts::CommonWith<Rep> Value>
85 return R(R(a).
count() / b);
88template<
typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith<Rep1> Rep2, math::detail::IsRatio Period2>
95template<
typename Rep, math::detail::IsRatio Period, concepts::CommonWith<Rep> Value>
98 return R(R(a).
count() % b);
101template<
typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith<Rep1> Rep2, math::detail::IsRatio Period2>
107template<
typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith<Rep1> Rep2, math::detail::IsRatio Period2>
110 return D(a).
count() == D(b).count();
113template<
typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith<Rep1> Rep2, math::detail::IsRatio Period2>
117 return D(a).
count() <=> D(b).count();
122using chrono::Duration;
meta::CommonType< Rep1, Rep2 > Representation
Definition duration.h:13
constexpr auto count() const -> Representation
Definition duration.h:36
Per::Type Period
Definition duration.h:14
static constexpr auto max()
Definition duration.h:18
constexpr auto operator-=(Duration const &other) -> Duration &
Definition duration.h:48
constexpr auto operator--() -> Duration &
Definition duration.h:44
constexpr auto operator--(int) -> Duration
Definition duration.h:45
auto operator=(Duration const &) -> Duration &=default
constexpr auto operator++(int) -> Duration
Definition duration.h:42
constexpr auto operator-() const
Definition duration.h:39
constexpr auto operator+() const
Definition duration.h:38
constexpr Duration(Duration< Rep2, Period2 > const &other)
Definition duration.h:29
constexpr auto operator%=(Representation const &other) -> Duration &
Definition duration.h:51
Duration(Duration const &)=default
Rep Representation
Definition duration.h:13
constexpr auto operator%=(Duration const &other) -> Duration &
Definition duration.h:52
static constexpr auto zero()
Definition duration.h:16
constexpr Duration(Val const &count)
Definition duration.h:25
constexpr auto operator++() -> Duration &
Definition duration.h:41
constexpr auto operator*=(Representation const &other) -> Duration &
Definition duration.h:49
constexpr auto operator+=(Duration const &other) -> Duration &
Definition duration.h:47
constexpr auto operator/=(Representation const &other) -> Duration &
Definition duration.h:50
static constexpr auto min()
Definition duration.h:17
Definition operations.h:99
constexpr auto operator-(Duration< Rep1, Period1 > const &a, Duration< Rep2, Period2 > const &b)
Definition duration.h:65
constexpr auto operator%(Duration< Rep, Period > const &a, Value const &b)
Definition duration.h:96
constexpr auto operator==(Duration< Rep1, Period1 > const &a, Duration< Rep2, Period2 > const &b) -> bool
Definition duration.h:108
constexpr auto operator+(Duration< Rep1, Period1 > const &a, Duration< Rep2, Period2 > const &b)
Definition duration.h:59
constexpr auto operator<=>(Duration< Rep1, Period1 > const &a, Duration< Rep2, Period2 > const &b)
Definition duration.h:115
constexpr auto operator/(Duration< Rep, Period > const &a, Value const &b)
Definition duration.h:83
constexpr auto operator*(Duration< Rep, Period > const &a, Value const &b)
Definition duration.h:71
Definition any_storable.h:9
constexpr auto count
Definition count.h:37
Definition numeric_limits.h:7
static constexpr Rational< ratio_intmax_t > rational
Definition ratio.h:36
static constexpr ratio_intmax_t den
Definition ratio.h:34