tuple_size
클래스
tuple
에 포함된 요소 수를 보관합니다.
구문
// TEMPLATE STRUCT tuple_size
template <class Tuple>
struct tuple_size;
// number of elements in array
template <class Elem, size_t Size>
struct tuple_size<array<Elem, Size>>
: integral_constant<size_t, Size>;
// size of pair
template <class T1, class T2>
struct tuple_size<pair<T1, T2>>
: integral_constant<size_t, 2>
// size of tuple
template <class... Types>
struct tuple_size<tuple<Types...>>
: integral_constant<size_t, sizeof...(Types)>;
// size of const tuple
template <class Tuple>
struct tuple_size<const Tuple>;
// size of volatile tuple
template <class Tuple>
struct tuple_size<volatile Tuple>;
// size of const volatile tuple
template <class Tuple>
struct tuple_size<const volatile Tuple>;
template <class T> inline constexpr size_t tuple_size_v = tuple_size<T>::value;
매개 변수
Tuple
튜플의 형식입니다.
Elem
배열 요소의 형식입니다.
Size
배열 크기입니다.
T1
쌍의 첫 번째 구성원 형식입니다.
T2
쌍의 두 번째 구성원 형식입니다.
Types
튜플 요소의 형식입니다.
설명
클래스 템플릿에는 값이 튜플 형식의 범위인 정수 상수 식인 멤버 value
가 있습니다 Tuple
.
배열의 템플릿 특수화에는 해당 값이 value
(배열의 크기)인 정수 계열 상수 식 Size
구성원이 있습니다.
쌍의 템플릿 특수화에는 해당 값이 2인 정수 계열 상수 식 value
구성원이 있습니다.
예시
#include <tuple>
#include <iostream>
using namespace std;
typedef tuple<int, double, int, double> MyTuple;
int main()
{
MyTuple c0(0, 1.5, 2, 3.7);
// display contents "0 1 2 3"
cout << get<0>(c0);
cout << " " << get<1>(c0);
cout << " " << get<2>(c0);
cout << " " << get<3>(c0) << endl;
// display size "4"
cout << " " << tuple_size<MyTuple>::value << endl;
}
0 1.5 2 3.7
4
요구 사항
머리글: <tuple>
헤더: <array>
(배열 특수화용)
헤더: <utility>
(쌍 특수화의 경우)
네임스페이스: std