std::chrono:: operator==,<=> (std::chrono::year_month_day)
|
Определено в заголовочном файле
<chrono>
|
||
|
constexpr
bool
operator
==
(
const
std::
chrono
::
year_month_day
&
x,
const std:: chrono :: year_month_day & y ) noexcept ; |
(1) | (начиная с C++20) |
|
constexpr
std::
strong_ordering
operator
<=>
(
const
std::
chrono
::
year_month_day
&
x,
|
(2) | (начиная с C++20) |
Сравнивает два значения
year_month_day
x
и
y
. Это лексикографическое сравнение: сначала сравнивается
year()
, затем
month()
, а потом
day()
.
Операторы
<
,
<=
,
>
,
>=
и
!=
синтезируются
соответственно
из
operator
<=>
и
operator
==
.
Возвращаемое значение
Примечания
Если оба x и y представляют корректные даты ( x. ok ( ) && y. ok ( ) == true ), результат лексикографического сравнения соответствует календарному порядку.
Пример
#include <chrono> int main() { constexpr auto ymd1{std::chrono::day(13)/7/1337}; constexpr auto ymd2{std::chrono::year(1337)/7/13}; static_assert(ymd1 == ymd2); static_assert(ymd1 <= ymd2); static_assert(ymd1 >= ymd2); static_assert(ymd1 <=> ymd2 == 0); }