namespace std {
template <class T> class tuple_size; // 先行宣言
// C++11
struct tuple_size<std::pair<T1, T2>> {
static constexpr std::size_t value = 2;
};
// C++14
struct tuple_size<std::pair<T1, T2>>
: public integral_constant<std::size_t, 2> {};
}
概要
tuple_size
は、タプルとして見なせる型の要素数を取得するためのクラスである。
要素数は、integral_constant
の機能を利用してコンパイル時の定数値として取得できる。
<utility>
ヘッダでは、pair
に関する特殊化を定義する。
例
出力
バージョン
言語
- C++11
処理系
- Clang: ??
- GCC: 4.6.1 ✅
- ICC: ??
- Visual C++: 2008 (std::tr1) ✅, 2010 ✅, 2012 ✅, 2013 ✅, 2015 ✅