std::tuple_size(std::array)
De cppreference.com
<tbody>
</tbody>
| Definido en el archivo de encabezado <array>
|
||
template< class T, std::size_t N > struct tuple_size< std::array<T, N> > : std::integral_constant<std::size_t, N> { }; |
(desde C++11) | |
Proporciona acceso al número de elementos en un std::array como una expresión constante en tiempo de compilación.
Heredado de std::integral_constant
Constantes miembro
value [estático] |
N, el número de elementos en el array. (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 <array>
template<class T>
void prueba(T t)
{
int a[std::tuple_size<T>::value]; // puede usarse en tiempo de compilación
std::cout << std::size(a) << '\n';
}
int main()
{
std::array<float, 3> arr;
prueba(arr);
}
Salida:
3
Véase también
| Vínculo estructurado (C++17) | Vincula los nombres especificados a subobjetos o elementos de una tupla del inicializador. |
| Obtiene el tamaño de una tupla en tiempo de compilación. (especialización de plantilla de clase) |