Espacios de nombres
Variantes
Acciones

std::tuple_size(std::array)

De cppreference.com
< cpp‎ | container‎ | array
 
 
 
 
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.

Contenido

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>

[editar] Ejemplo

#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

[editar] Véase también

Vínculo estructurado (C++17) Vincula los nombres especificados a subobjetos o elementos de una tupla del inicializador. [editar]
Obtiene el tamaño de una tupla en tiempo de compilación.
(especialización de plantilla de clase) [editar]