最終更新日時: 2026年07月22日 17時59分49秒 (JST)
rotarymars が更新

履歴 編集

function template
<chrono>

# std::chrono::operator==(C++11)

    namespace std {
    namespace chrono {
      template <class Clock, class Duration1, class Duration2>
      bool operator==(const time_point<Clock, Duration1>& lhs,
                      const time_point<Clock, Duration2>& rhs);           // (1) C++11

      template <class Clock, class Duration1, class Duration2>
      constexpr bool operator==(const time_point<Clock, Duration1>& lhs,
                                const time_point<Clock, Duration2>& rhs); // (1) C++14
    }}

## 概要

等値比較を行う

## 戻り値

    return lhs.time_since_epoch() == rhs.time_since_epoch();

## 備考

- この演算子により、以下の演算子が使用可能になる (C++20)：
  - `operator!=`

## 例

    #include <cassert>
    #include <chrono>

    using namespace std::chrono;

    int main()
    {
      seconds s(3);

      time_point<system_clock> p1(s);
      time_point<system_clock> p2(s);

      const bool result = p1 == p2;
      assert(result);
    }

### 出力

## バージョン

### 言語

- C++11

### 処理系

- GCC: 4.6.1 ✅
- Visual C++: 2012 ✅, 2013 ✅, 2015 ✅

## 参照

- N3469 Constexpr Library Additions: chrono, v3
- P1614R2 The Mothership has Landed
  - C++20での三方比較演算子の追加と、関連する演算子の自動導出