std::tuple_size<std::tuple>
De cppreference.com
| 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.
You can help to correct and verify the translation. Click here for instructions.
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>
|
Ejemplo
Ejecuta este código
#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
