最終更新日時: 2025年09月27日 16時11分47秒 (JST)
Raclamusi が更新

履歴 編集

function
<chrono>

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

    namespace std::chrono {
      constexpr bool
        operator>=(const leap_second& x,
                   const leap_second& y) noexcept;        // (1) C++20 (operator<=>により使用可能)

      template <class Duration>
      constexpr bool
        operator>=(const leap_second& x,
                   const sys_time<Duration>& y) noexcept; // (2) C++20

      template <class Duration>
      constexpr bool
        operator>=(const sys_time<Duration>& x,
                   const leap_second& y) noexcept;        // (3) C++20
    }

## 概要

左辺が右辺以上の比較を行う。

- (1) : `leap_second`オブジェクト同士において、左辺が右辺以上かの比較を行う
- (2) : `leap_second`オブジェクトと`sys_time`オブジェクトにおいて、左辺が右辺以上かの比較を行う
- (3) : `sys_time`オブジェクトと`leap_second`オブジェクトにおいて、左辺が右辺以上かの比較を行う

## 戻り値

    return !(x < y);

## 例外

投げない

## 例

    #include <iostream>
    #include <chrono>

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

    int main()
    {
      // 2000年1月1日以降にうるう秒が挿入された日を列挙する
      for (const chrono::leap_second& date : chrono::get_tzdb().leap_seconds) {
        if (date >= chrono::sys_days{2000y/1/1})
          std::cout << date.date() << std::endl;
      }
    }

### 出力例

    2006-01-01 00:00:00
    2009-01-01 00:00:00
    2012-07-01 00:00:00
    2015-07-01 00:00:00
    2017-01-01 00:00:00

## バージョン

### 言語

- C++20

### 処理系

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