std::chrono::operator ==,!=,<,<=,>,>= (std::chrono::year_month_day)
From cppreference.com
< cpp | chrono | year month day
constexpr bool operator==(const std::chrono::year_month_day& x, const std::chrono::year_month_day& y) noexcept; |
(1) | (since C++20) |
constexpr bool operator!=(const std::chrono::year_month_day& x, const std::chrono::year_month_day& y) noexcept; |
(2) | (since C++20) |
constexpr bool operator< (const std::chrono::year_month_day& x, const std::chrono::year_month_day& y) noexcept; |
(3) | (since C++20) |
constexpr bool operator> (const std::chrono::year_month_day& x, const std::chrono::year_month_day& y) noexcept; |
(4) | (since C++20) |
constexpr bool operator<=(const std::chrono::year_month_day& x, const std::chrono::year_month_day& y) noexcept; |
(5) | (since C++20) |
constexpr bool operator>=(const std::chrono::year_month_day& x, const std::chrono::year_month_day& y) noexcept; |
(6) | (since C++20) |
Compares the two year_month_day
objects x
and y
. This is a lexicographical comparison: the year() is compared first, then month(), then day().
Return value
1) x.year() == y.year() && x.month() == y.month() && x.day() == y.day()
2) !(x == y)
3) If x.year() != y.year(), x.year() < y.year(); otherwise if x.month() != y.month(), x.month() < y.month(); otherwise x.day() < y.day()
4) y < x
5) !(y < x)
6) !(x < y)
Notes
If both x
and y
represent valid dates (x.ok() && y.ok() == true), the result of the lexicographical comparison is consistent with the calendar order.