std::chrono:: operator==,<=> (std::chrono::year_month_day_last)
|
Défini dans l'en-tête
<chrono>
|
||
|
constexpr
bool
operator
==
(
const
std::
chrono
::
year_month_day_last
&
x,
const std:: chrono :: year_month_day_last & y ) noexcept ; |
(1) | (depuis C++20) |
|
constexpr
std::
strong_ordering
operator
<=>
(
const
std::
chrono
::
year_month_day_last
&
x,
|
(2) | (depuis C++20) |
Compare les deux valeurs
year_month_day_last
x
et
y
. Il s'agit d'une comparaison lexicographique : le
year()
est comparé en premier, puis le
month()
.
Les opérateurs
<
,
<=
,
>
,
>=
et
!=
sont
synthétisés
respectivement à partir de
operator
<=>
et
operator
==
.
Valeur de retour
Notes
Si les deux x et y représentent des dates valides ( x. ok ( ) && y. ok ( ) == true ), le résultat de la comparaison lexicographique est cohérent avec l'ordre calendaire.
Exemple
#include <cassert> #include <chrono> #include <iostream> int main() { auto ymdl1{11/std::chrono::last/2020}; auto mdl{std::chrono::last/std::chrono::November}; auto ymdl2{mdl/2020}; assert(ymdl1 == ymdl2); ymdl1 -= std::chrono::months{2}; ymdl2 -= std::chrono::months{1}; assert(ymdl1 < ymdl2); }