Skip to content

Latest commit

 

History

History
68 lines (53 loc) · 1.45 KB

tuple_element.md

File metadata and controls

68 lines (53 loc) · 1.45 KB

tuple_element

  • utility[meta header]
  • std[meta namespace]
  • class template[meta id-type]
  • cpp11[meta cpp]
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;
  };
}
  • pair[link ../pair.md]

概要

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, "");
}
  • std::tuple_element[color ff0000]

出力

バージョン

言語

  • C++11

処理系

参照