最終更新日時: 2024年08月02日 15時00分52秒 (JST)
Akira Takahashi が更新

履歴 編集

class template
<complex>

# std::tuple_size(C++26)

    namespace std {
      template <class T> class tuple_size; // 先行宣言

      template <class T>
      struct tuple_size<complex<T>>
        : integral_constant<std::size_t, 2> {};
    }

## 概要

`tuple_size`は、タプルとして見なせる型の要素数を取得するためのクラスである。

要素数は、`integral_constant`の機能を利用してコンパイル時の定数値として取得できる。

`<complex>`ヘッダでは、`std::complex`クラスに関する特殊化を定義する。

## 例

    #include <complex>

    int main()
    {
      static_assert(std::tuple_size<std::complex<float>>::value == 2, "");
    }

### 出力

## バージョン

### 言語

- C++26

### 処理系

- Clang: 19.0 ❌
- GCC: 14 ❌
- Visual C++: 2022 Update 10 ❌

## 参照

- P2819R2 Add tuple protocol to complex
  - C++26から`std::complex`にタプルインタフェースがサポートされた