最終更新日時:
が更新

履歴 編集

class template
<utility>

std::tuple_element(C++11)

namespace std {
  template <size_t I, class T> class tuple_element;

  template <class T1, class T2>
  struct tuple_element<0, pair<T1, T2>> {
    using type = T1;
  };

  template <class T1, class T2>
  struct tuple_element<1, pair<T1, T2>> {
    using type = T2;
  };
}

概要

tuple_elementは、タプルとして見なせる型から、I番目の要素型を取得するためのクラスである。

<utility>ヘッダでは、pairに関する特殊化を定義する。

#include <utility>
#include <type_traits>

int main()
{
  static_assert(std::is_same<
                  std::tuple_element<0, std::pair<int, double>>::type,
                  int
                >::value, "");

  static_assert(std::is_same<
                  std::tuple_element<1, std::pair<int, double>>::type,
                  double
                >::value, "");
}

出力

バージョン

言語

  • C++11

処理系

参照