|
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Non-member functions | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Helper classes | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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> requiresstd::three_way_comparable<std::common_type_t<Rep1, Rep2>> | (7) | (since C++20) |
Compares two durations. LetCT bestd::common_type<std::chrono::duration<Rep1, Period1>,std::chrono::duration<Rep2, Period2>>::type:
The | (since C++20) |
| lhs | - | duration on the left-hand side of the operator |
| rhs | - | duration on the right-hand side of the operator |
#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 == 2000ms61s > 1min