Iros
 
Loading...
Searching...
No Matches
di::chrono Namespace Reference

Namespaces

namespace  detail
 

Classes

class  Duration
 
class  TimePoint
 

Typedefs

using Picoseconds = Duration<i64, math::Pico>
 
using Nanoseconds = Duration<i64, math::Nano>
 
using Microseconds = Duration<i64, math::Micro>
 
using Milliseconds = Duration<i64, math::Milli>
 
using Seconds = Duration<i64>
 
using Minutes = Duration<i64, math::Ratio<60>>
 
using Hours = Duration<i64, math::Ratio<3600>>
 
using Days = Duration<i32, math::Ratio<86400>>
 
using Weeks = Duration<i32, math::Ratio<604800>>
 
using Months = Duration<i32, math::Ratio<2629746>>
 
using Years = Duration<i32, math::Ratio<31556952>>
 

Functions

template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
constexpr auto operator+ (Duration< Rep1, Period1 > const &a, Duration< Rep2, Period2 > const &b)
 
template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
constexpr auto operator- (Duration< Rep1, Period1 > const &a, Duration< Rep2, Period2 > const &b)
 
template<typename Rep, math::detail::IsRatio Period, concepts::CommonWith< Rep > Value>
constexpr auto operator* (Duration< Rep, Period > const &a, Value const &b)
 
template<typename Rep, math::detail::IsRatio Period, concepts::CommonWith< Rep > Value>
constexpr auto operator* (Value const &a, Duration< Rep, Period > const &b)
 
template<typename Rep, math::detail::IsRatio Period, concepts::CommonWith< Rep > Value>
constexpr auto operator/ (Duration< Rep, Period > const &a, Value const &b)
 
template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
constexpr auto operator/ (Duration< Rep1, Period1 > const &a, Duration< Rep2, Period2 > const &b)
 
template<typename Rep, math::detail::IsRatio Period, concepts::CommonWith< Rep > Value>
constexpr auto operator% (Duration< Rep, Period > const &a, Value const &b)
 
template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
constexpr auto operator% (Duration< Rep1, Period1 > const &a, Duration< Rep2, Period2 > const &b)
 
template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
constexpr auto operator== (Duration< Rep1, Period1 > const &a, Duration< Rep2, Period2 > const &b) -> bool
 
template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
requires (concepts::ThreeWayComparable<meta::CommonType<Rep1, Rep2>>)
constexpr auto operator<=> (Duration< Rep1, Period1 > const &a, Duration< Rep2, Period2 > const &b)
 
template<typename C, typename D1, typename R2, typename P2, typename CT = TimePoint<C, meta::CommonType<D1, Duration<R2, P2>>>>
constexpr auto operator+ (TimePoint< C, D1 > const &a, Duration< R2, P2 > const &b) -> CT
 
template<typename R1, typename P1, typename C, typename D2, typename CT = TimePoint<C, meta::CommonType<Duration<R1, P1>, D2>>>
constexpr auto operator+ (Duration< R1, P1 > const &a, TimePoint< C, D2 > const &b) -> CT
 
template<typename C, typename D1, typename R2, typename P2, typename CT = TimePoint<C, meta::CommonType<D1, Duration<R2, P2>>>>
constexpr auto operator- (TimePoint< C, D1 > const &a, Duration< R2, P2 > const &b) -> CT
 
template<typename C, typename D1, typename D2, typename CT = meta::CommonType<D1, D2>>
constexpr auto operator- (TimePoint< C, D1 > const &a, TimePoint< C, D2 > const &b) -> CT
 
template<typename C, typename D1, concepts::EqualityComparableWith< D1 > D2>
constexpr auto operator== (TimePoint< C, D1 > const &a, TimePoint< C, D2 > const &b) -> bool
 
template<typename C, typename D1, concepts::ThreeWayComparableWith< D1 > D2>
constexpr auto operator<=> (TimePoint< C, D1 > const &a, TimePoint< C, D2 > const &b)
 

Variables

template<concepts::InstanceOf< Duration > To>
constexpr auto duration_cast = detail::DurationCastFunction<To> {}
 
template<concepts::InstanceOf< Duration > To>
constexpr auto time_point_cast = detail::TimePointCastFunction<To> {}
 

Typedef Documentation

◆ Days

◆ Hours

◆ Microseconds

◆ Milliseconds

◆ Minutes

◆ Months

◆ Nanoseconds

◆ Picoseconds

◆ Seconds

◆ Weeks

◆ Years

Function Documentation

◆ operator%() [1/2]

template<typename Rep, math::detail::IsRatio Period, concepts::CommonWith< Rep > Value>
auto di::chrono::operator% ( Duration< Rep, Period > const & a,
Value const & b )
constexpr

◆ operator%() [2/2]

template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
auto di::chrono::operator% ( Duration< Rep1, Period1 > const & a,
Duration< Rep2, Period2 > const & b )
constexpr

◆ operator*() [1/2]

template<typename Rep, math::detail::IsRatio Period, concepts::CommonWith< Rep > Value>
auto di::chrono::operator* ( Duration< Rep, Period > const & a,
Value const & b )
constexpr

◆ operator*() [2/2]

template<typename Rep, math::detail::IsRatio Period, concepts::CommonWith< Rep > Value>
auto di::chrono::operator* ( Value const & a,
Duration< Rep, Period > const & b )
constexpr

◆ operator+() [1/3]

template<typename R1, typename P1, typename C, typename D2, typename CT = TimePoint<C, meta::CommonType<Duration<R1, P1>, D2>>>
auto di::chrono::operator+ ( Duration< R1, P1 > const & a,
TimePoint< C, D2 > const & b ) -> CT
constexpr

◆ operator+() [2/3]

template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
auto di::chrono::operator+ ( Duration< Rep1, Period1 > const & a,
Duration< Rep2, Period2 > const & b )
constexpr

◆ operator+() [3/3]

template<typename C, typename D1, typename R2, typename P2, typename CT = TimePoint<C, meta::CommonType<D1, Duration<R2, P2>>>>
auto di::chrono::operator+ ( TimePoint< C, D1 > const & a,
Duration< R2, P2 > const & b ) -> CT
constexpr

◆ operator-() [1/3]

template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
auto di::chrono::operator- ( Duration< Rep1, Period1 > const & a,
Duration< Rep2, Period2 > const & b )
constexpr

◆ operator-() [2/3]

template<typename C, typename D1, typename R2, typename P2, typename CT = TimePoint<C, meta::CommonType<D1, Duration<R2, P2>>>>
auto di::chrono::operator- ( TimePoint< C, D1 > const & a,
Duration< R2, P2 > const & b ) -> CT
constexpr

◆ operator-() [3/3]

template<typename C, typename D1, typename D2, typename CT = meta::CommonType<D1, D2>>
auto di::chrono::operator- ( TimePoint< C, D1 > const & a,
TimePoint< C, D2 > const & b ) -> CT
constexpr

◆ operator/() [1/2]

template<typename Rep, math::detail::IsRatio Period, concepts::CommonWith< Rep > Value>
auto di::chrono::operator/ ( Duration< Rep, Period > const & a,
Value const & b )
constexpr

◆ operator/() [2/2]

template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
auto di::chrono::operator/ ( Duration< Rep1, Period1 > const & a,
Duration< Rep2, Period2 > const & b )
constexpr

◆ operator<=>() [1/2]

template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
requires (concepts::ThreeWayComparable<meta::CommonType<Rep1, Rep2>>)
auto di::chrono::operator<=> ( Duration< Rep1, Period1 > const & a,
Duration< Rep2, Period2 > const & b )
constexpr

◆ operator<=>() [2/2]

template<typename C, typename D1, concepts::ThreeWayComparableWith< D1 > D2>
auto di::chrono::operator<=> ( TimePoint< C, D1 > const & a,
TimePoint< C, D2 > const & b )
constexpr

◆ operator==() [1/2]

template<typename Rep1, math::detail::IsRatio Period1, concepts::CommonWith< Rep1 > Rep2, math::detail::IsRatio Period2>
auto di::chrono::operator== ( Duration< Rep1, Period1 > const & a,
Duration< Rep2, Period2 > const & b ) -> bool
constexpr

◆ operator==() [2/2]

template<typename C, typename D1, concepts::EqualityComparableWith< D1 > D2>
auto di::chrono::operator== ( TimePoint< C, D1 > const & a,
TimePoint< C, D2 > const & b ) -> bool
constexpr

Variable Documentation

◆ duration_cast

template<concepts::InstanceOf< Duration > To>
auto di::chrono::duration_cast = detail::DurationCastFunction<To> {}
inlineconstexpr

◆ time_point_cast

template<concepts::InstanceOf< Duration > To>
auto di::chrono::time_point_cast = detail::TimePointCastFunction<To> {}
inlineconstexpr