std:: tuple_size <std::tuple>
From cppreference.net
|
Défini dans l'en-tête
<tuple>
|
||
|
template
<
class
...
Types
>
struct
tuple_size
<
std::
tuple
<
Types...
>
>
|
(depuis C++11) | |
Fournit un accès au nombre d'éléments dans un tuple sous forme d'une 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]
|
sizeof...(Types)
(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
Exécuter ce code
#include <iostream> #include <tuple> template <class T> void test(T value) { int a[std::tuple_size_v<T>]; // peut être utilisé à la compilation std::cout << std::tuple_size<T>{} << ' ' // ou à l'exécution << sizeof a << ' ' << sizeof value << '\n'; } int main() { test(std::make_tuple(1, 2, 3.14)); }
Sortie possible :
3 12 16
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 de type tuple
(modèle de classe) |
|
(C++11)
|
obtient la taille d'une
pair
(spécialisation de modèle de classe) |
|
(C++11)
|
obtient la taille d'un
array
(spécialisation de modèle de classe) |
|
obtient la taille d'un
std::ranges::subrange
(spécialisation de modèle de classe) |
|
|
(C++11)
|
tuple accède à l'élément spécifié
(modèle de fonction) |