operator==,!=,<,<=,>,>=,<=>(std::chrono::duration)
template <class Rep1, class Period1, class Rep2, class Period2> constexpr bool operator==(const std::chrono::duration<Rep1, Period1>& lhs, |
(1) | (desde C++11) |
template <class Rep1, class Period1, class Rep2, class Period2> constexpr bool operator!=(const std::chrono::duration<Rep1, Period1>& lhs, |
(2) | (desde C++11) (hasta C++20) |
template <class Rep1, class Period1, class Rep2, class Period2> constexpr bool operator<(const std::chrono::duration<Rep1, Period1>& lhs, |
(3) | (desde C++11) |
template <class Rep1, class Period1, class Rep2, class Period2> constexpr bool operator<=(const std::chrono::duration<Rep1, Period1>& lhs, |
(4) | (desde C++11) |
template <class Rep1, class Period1, class Rep2, class Period2> constexpr bool operator>(const std::chrono::duration<Rep1, Period1>& lhs, |
(5) | (desde C++11) |
template <class Rep1, class Period1, class Rep2, class Period2> constexpr bool operator>=(const std::chrono::duration<Rep1, Period1>& lhs, |
(6) | (desde C++11) |
template <class Rep1, class Period1, class Rep2, class Period2> requires std::three_way_comparable<std::common_type_t<Rep1, Rep2>> |
(7) | (desde C++20) |
Compara dos duraciones. Sea CT
std::common_type<std::chrono::duration<Rep1, Period1>, std::chrono::duration<Rep2, Period2>>::type:
lhs
y rhs
son iguales, es decir, el número de tics para el tipo común a ambas duraciones es igual.lhs
con rhs
, es decir, compara el número de tics del tipo común a ambas duraciones.lhs
con rhs
, es decir, compara el número de tics del tipo común a ambas duraciones. El tipo de retorno se deduce a partir de CT(lhs).count() <=> CT(rhs).count().
El operador |
(desde C++20) |
[editar] Parámetros
lhs | - | Duración a la izquierda del operador. |
rhs | - | Duración a la derecha del operador. |
[editar] Valor de retorno
[editar] Ejemplo
#include <chrono> #include <iostream> int main() { if(std::chrono::seconds(2) == std::chrono::milliseconds(2000)) std::cout << "2 s == 2000 ms\n"; else std::cout << "2 s != 2000 ms\n"; if(std::chrono::seconds(61) > std::chrono::minutes(1)) std::cout << "61 s > 1 min\n"; else std::cout << "61 s <= 1 min\n"; using namespace 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); }
Salida:
2 s == 2000 ms 61 s > 1 min