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

履歴 編集

class template
<ratio>

# std::ratio_equal(C++11)

    namespace std {
      template <class R1, class R2>
      struct ratio_equal;

      template <class R1, class R2>
      inline constexpr bool ratio_equal_v
        = ratio_equal<R1, R2>::value;     // C++17
    }

## 概要

`ratio_equal`は、2つの`ratio`が等値かを判定するクラステンプレートである。

## 効果

`ratio_equal`は、`R1::num == R2::num`かつ`R1::den == R2::den`であれば`true_type`から派生し、そうでなければ`false_type`から派生する。

## 例

    #include <ratio>

    int main()
    {
      using r1 = std::ratio<2, 5>;
      using r2 = std::ratio<2, 5>;

      static_assert(std::ratio_equal<r1, r2>::value == true, "r1 == r2");
    }

### 出力

## バージョン

### 言語

- C++11

### 処理系

- Clang: 3.0 ✅
- GCC: 4.4.7 ✅
- Visual C++: ??

## 参照

- P0006R0 Adopt Type Traits Variable Templates from Library Fundamentals TS for C++17