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

履歴 編集

function
<chrono>

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

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

## 概要

`weekday`の減算を行う。

- (1) : `weekday`から日単位の時間間隔を引いた曜日を求める
- (2) : 曜日間の差を日単位で求める

## 戻り値

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

## 例外

投げない

## 例

    #include <cassert>
    #include <chrono>

    namespace chrono = std::chrono;

    int main()
    {
      assert(chrono::Tuesday - chrono::days{3} == chrono::Saturday);
      assert(chrono::Tuesday - chrono::Saturday == chrono::days{3});
    }

### 出力

## バージョン

### 言語

- C++20

### 処理系

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