std::chrono::operator ==,!=,<,<=,>,>= (std::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.

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/chrono/year_month_day/operator_cmp