duration_operator_cmp
duration_operator_cmp (기간 비교 연산)
std::chrono::duration에 대한 비교 연산자예요. 두 기간을 ==, !=, <, <=, >, >=, <=>로 비교해요.
출처: cppreference
본문
std::chrono::duration의 비교 연산자는 <chrono> 헤더에 정의되어 있어요.
template< class Rep1, class Period1, class Rep2, class Period2 >
constexpr bool operator==( const std::chrono::duration<Rep1, Period1>& lhs,
const std::chrono::duration<Rep2, Period2>& rhs );
template< class Rep1, class Period1, class Rep2, class Period2 >
constexpr /* three-way */ operator<=>( const std::chrono::duration<Rep1, Period1>& lhs,
const std::chrono::duration<Rep2, Period2>& rhs );
두 기간을 비교해요. CT를 std::common_type<duration<Rep1, Period1>, duration<Rep2, Period2>>::type이라고 할 때:
==는 두 기간의 공통 타입에서의 틱 수가 같은지 검사해요.<=>는 두 기간을 공통 타입으로 변환해 3방향 비교해요.
C++20의 우주선 연산자(<=>)는 <, <=, >, >=도 자동으로 제공해요.
예제 (Example)
#include <chrono>
#include <iostream>
int main()
{
using namespace std::chrono;
std::cout << std::boolalpha;
std::cout << (seconds{1} == milliseconds{1000}) << '\n'; // true
std::cout << (seconds{1} < milliseconds{1500}) << '\n'; // true
}