Namespaces
Variants

std::chrono:: operator==,<=> (std::chrono::month_day)

From cppreference.net
ヘッダーで定義 <chrono>
constexpr bool operator == ( const std:: chrono :: month_day & x,
const std:: chrono :: month_day & y ) noexcept ;
(1) (C++20以降)
constexpr std:: strong_ordering operator <=> ( const std:: chrono :: month_day & x,
const std:: chrono :: month_day & y ) noexcept ;
(2) (C++20以降)

2つの month_day 値を比較します。

< <= > >= 、および != 演算子は、 それぞれ operator <=> および operator == から合成されます。

戻り値

1) x. month ( ) == y. month ( ) && x. day ( ) == y. day ( )
2) x. month ( ) <=> y. month ( ) ! = 0 ? x. month ( ) <=> y. month ( ) : x. day ( ) <=> y. day ( )

#include <chrono>
#include <iostream>
int main()
{
    constexpr auto md1{std::chrono::August/15};
    constexpr auto md2{std::chrono::month(8)/std::chrono::day(15)};
    std::cout << std::boolalpha << (md1 == md2) << '\n';
    static_assert(md1 <= md2);
}

出力:

true