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

履歴 編集

function
<chrono>

# std::chrono::operator-(C++20)

    namespace std::chrono {
      constexpr month operator-(const month& x, const months& y) noexcept; // (1) C++20
      constexpr months operator-(const month& x, const month& y) noexcept; // (2) C++20
    }

## 概要

`month`の減算を行う。

- (1) : `month`から時間間隔を減算する
- (2) : `month`同士の差を求める

## 戻り値

- (1) : `return x + -y;`
- (2) : `x.ok() == true`かつ`y.ok() == true`である場合、範囲`[months{0}, months{11}]`に収まるよう`x`と`y`の月の差を求めて返す。そうでなければ、未規定の値が返る

## 例外

投げない

## 例

    #include <cassert>
    #include <chrono>

    namespace chrono = std::chrono;

    int main()
    {
      assert(chrono::March - chrono::months{2} == chrono::January);
      assert(chrono::March - chrono::February == chrono::months{1});

      assert(chrono::January - chrono::February == chrono::months{11});
    }

### 出力

## バージョン

### 言語

- C++20

### 処理系

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