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

履歴 編集

function
<chrono>

# std::chrono::month_day::ok(C++20)

    constexpr bool ok() const noexcept; // (1) C++20

## 概要

`month_day`オブジェクトの値が有効な月日の範囲内かを判定する。

## 戻り値

以下の全ての条件を満たす場合にこの関数は`true`を返し、そうでなければ`false`を返す：

- `month().ok() == true`であること
- `day()`が返す値が、`1d`以上かつ`month()`の月の日数以下であること
  - `month() == February`である場合、日数は29であるとみなされる

## 例

    #include <cassert>
    #include <chrono>

    namespace chrono = std::chrono;

    int main()
    {
      assert((chrono::March/1).ok()  == true);
      assert((chrono::March/31).ok() == true);
      assert((chrono::March/0).ok()  == false);
      assert((chrono::April/31).ok() == false);

      assert((chrono::February/28).ok() == true);
      assert((chrono::February/29).ok() == true);
    }

### 出力

## バージョン

### 言語

- C++20

### 処理系

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