Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The latest version of this topic can be found at tuple_size Class;.
Reports the number of elements that a tuple contains.
Syntax
// TEMPLATE STRUCT tuple_size
template <class Tuple>
struct tuple_size;
// 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>;
Parameters
Tuple
The type of the tuple.
Remarks
The template class has a member value that is an integral constant expression whose value is the extent of the tuple type Tuple.
Example
#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;
}
/*
Output:
0 1.5 2 3.7
4
*/
Requirements
Header: <tuple>
Namespace: std