最終更新日時(UTC): 2024年06月11日 13時45分38秒
Akira Takahashi が更新

履歴 編集

function
<chrono>

# std::chrono::operator<=>(C++20)

    namespace std::chrono {
      constexpr strong_ordering operator<=>(const month_day& x, const month_day& y) noexcept; // (1) C++20
    }

## 概要

`month_day`同士の三方比較を行う。

## 戻り値

- (1) : 以下と等価：

    if (auto c = x.month() <=> y.month(); c != 0) return c;
    return x.day() <=> y.day();

## 例外

投げない

## 備考

- この演算子により、`operator<`、`operator<=`、`operator>`、`operator>=`が使用可能になる

## 例

    #include <cassert>
    #include <chrono>

    namespace chrono = std::chrono;

    int main()
    {
      assert((chrono::March/1 <=> chrono::March/1) == 0);

      assert(chrono::March/1 < chrono::March/2);
      assert(chrono::March/1 <= chrono::March/2);

      assert(chrono::March/2 > chrono::March/1);
      assert(chrono::March/2 >= chrono::March/1);
    }

### 出力

## バージョン

### 言語

- C++20

### 処理系

- Clang: 10.0 ❌
- GCC: 9.2 ❌
- Visual C++: 2019 Update 3 ❌