operator==,!=,<,<=,>,>=,<=>(std::chrono::duration)
template<class Rep1, class Period1, class Rep2, class Period2 > constexprbool operator==(conststd::chrono::duration<Rep1, Period1>& lhs, | (1) | (since C++11) |
template<class Rep1, class Period1, class Rep2, class Period2 > constexprbool operator!=(conststd::chrono::duration<Rep1, Period1>& lhs, | (2) | (since C++11) (until C++20) |
template<class Rep1, class Period1, class Rep2, class Period2 > constexprbool operator<(conststd::chrono::duration<Rep1, Period1>& lhs, | (3) | (since C++11) |
template<class Rep1, class Period1, class Rep2, class Period2 > constexprbool operator<=(conststd::chrono::duration<Rep1, Period1>& lhs, | (4) | (since C++11) |
template<class Rep1, class Period1, class Rep2, class Period2 > constexprbool operator>(conststd::chrono::duration<Rep1, Period1>& lhs, | (5) | (since C++11) |
template<class Rep1, class Period1, class Rep2, class Period2 > constexprbool operator>=(conststd::chrono::duration<Rep1, Period1>& lhs, | (6) | (since C++11) |
template<class Rep1, class Period1, class Rep2, class Period2 > requires std::three_way_comparable<std::common_type_t<Rep1, Rep2>> | (7) | (since C++20) |
Compares two durations. Let CT
be std::common_type<std::chrono::duration<Rep1, Period1>, std::chrono::duration<Rep2, Period2>>::type:
The | (since C++20) |
[edit]Parameters
lhs | - | duration on the left-hand side of the operator |
rhs | - | duration on the right-hand side of the operator |
[edit]Return value
[edit]Example
#include <chrono>#include <iostream> int main(){constexprauto t1 =std::chrono::seconds(2);constexprauto t2 =std::chrono::milliseconds(2000); ifconstexpr(t1 == t2)std::cout<< t1 <<" == "<< t2 <<'\n';elsestd::cout<< t1 <<" != "<< t2 <<'\n'; constexprauto t3 =std::chrono::seconds(61);constexprauto t4 =std::chrono::minutes(1); ifconstexpr(t3 > t4)std::cout<< t3 <<" > "<< t4 <<'\n';elsestd::cout<< t3 <<" <= "<< t4 <<'\n'; usingnamespace std::chrono_literals; static_assert(1h == 60min); static_assert(1min == 60s); static_assert(1s ==1'000ms); static_assert(1ms == 1'000us); static_assert(1us ==1'000ns); }
Output:
2s == 2000ms 61s > 1min