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

履歴 編集

function
<chrono>

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

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

## 概要

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

## 戻り値

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

- `year()`メンバ関数によって返されるオブジェクト`y`の`ok()`が`true`
- `month()`メンバ関数によって返されるオブジェクト`m`の`ok()`が`true`
- `day()`メンバ関数によって返されるオブジェクトの値が`[1d, (y/m/last).day()]`の範囲内であること

## 例

    #include <cassert>
    #include <chrono>

    namespace chrono = std::chrono;
    using namespace std::chrono_literals;

    int main()
    {
      assert((2020y/3/1).ok()  == true);
      assert((2020y/2/28).ok() == true);
      assert((2020y/2/30).ok() == false);
      assert((2021y/2/29).ok() == false);
    }

### 出力

## バージョン

### 言語

- C++20

### 処理系

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