Espacios de nombres
Variantes
Acciones

std::tuple_size<std::tuple>

De cppreference.com
< cpp‎ | utility‎ | tuple
 
 
Biblioteca de servicios
 
std::tuple
Funciones miembro
Funciones no miembro
(hasta C++20)(hasta C++20)(hasta C++20)(hasta C++20)(hasta C++20)(C++20)
Guías de deducción(C++17)
Clases asistentes
tuple_size
 
Definido en el archivo de encabezado <tuple>
template< class T >
class tuple_size; /*undefined*/
(1) (desde C++11)
template< class... Types >

class tuple_size<tuple<Types...> >

 : public std::integral_constant<std::size_t, sizeof...(Types)> { };
(2) (desde C++11)
template< class T >

class tuple_size<const T>
 : public std::integral_constant<
             typename std::remove_cv<decltype(std::tuple_size<T>::value)>::type,

             std::tuple_size<Tp>::value> { };
(3) (desde C++11)
template< class T >

class tuple_size< volatile T >
 : public std::integral_constant<
             typename std::remove_cv<decltype(std::tuple_size<T>::value)>::type,

             std::tuple_size<Tp>::value> { };
(4) (desde C++11)
template< class T >

class tuple_size< const volatile T >
 : public std::integral_constant<
             typename std::remove_cv<decltype(std::tuple_size<T>::value)>::type,

             std::tuple_size<Tp>::value> { };
(5) (desde C++11)
Proporciona acceso al número de elementos en una tupla como una expresión constante en tiempo de compilación .
Original:
Provides access to the number of elements in a tuple as a compile-time constant expression.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Contenido

Heredado de std::integral_constant

Constantes miembro

value
[estático]
sizeof...(Types)
(constante miembro pública estática)

Funciones miembro

operator std::size_t
Convierte el objeto a std::size_t, devuelve value.
(función miembro pública)
operator()
(C++14)
Devuelve value.
(función miembro pública)

Tipos miembro

Tipo Definición
value_type std::size_t
type std::integral_constant<std::size_t, value>

[editar] Ejemplo

#include <iostream>
#include <tuple>
 
template<class T>
void test(T t)
{
    int a[std::tuple_size<T>::value]; // can be used at compile time
    std::cout << std::tuple_size<T>::value << '\n'; // or at run time
}
 
int main()
{
    test(std::make_tuple(1, 2, 3.14));
}

Salida:

3

[editar] Ver también

obtiene el tamaño de un array
Original:
obtains the size of an array
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(especialización de plantilla de clase) [editar]
Obtiene el tamaño de un par.
(especialización de plantilla de clase) [editar]
La tupla accede al elemento especificado.
(plantilla de función) [editar]
Obtiene el tipo del elemento especificado.
(especialización de plantilla de clase) [editar]