std::chrono::operator==,<=>(std::chrono::month_day)
From cppreference.com
| ヘッダー <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