Namespaces
Variants

std:: tuple_size <std::array>

From cppreference.net
Défini dans l'en-tête <array>
template < class T, std:: size_t N >

struct tuple_size < std:: array < T, N > > :
std:: integral_constant < std:: size_t , N >

{ } ;
(depuis C++11)

Fournit un accès au nombre d'éléments dans un std::array en tant qu'expression constante évaluée à la compilation.

Table des matières

Modèle de variable d'assistance

template < class T >
constexpr std:: size_t tuple_size_v = tuple_size < T > :: value ;
(depuis C++17)

Hérité de std:: integral_constant

Constantes membres

value
[static]
N , le nombre d'éléments dans le tableau
(constante membre publique statique)

Fonctions membres

operator std::size_t
convertit l'objet en std:: size_t , retourne value
(fonction membre publique)
operator()
(C++14)
retourne value
(fonction membre publique)

Types membres

Type Définition
value_type std:: size_t
type std:: integral_constant < std:: size_t , value >

Exemple

#include <array>
int main()
{
    auto arr = std::to_array("ABBA");
    static_assert(std::tuple_size<decltype(arr)>{} == 5);
}

Voir aussi

Structured binding (C++17) lie les noms spécifiés aux sous-objets ou éléments de tuple de l'initialiseur
(C++11)
obtient le nombre d'éléments d'un type similaire à un tuple
(modèle de classe)
obtient la taille d'un

tuple
(spécialisation de modèle de classe)

obtient la taille d'une pair
(spécialisation de modèle de classe)
obtient la taille d'un std::ranges::subrange
(spécialisation de modèle de classe)