Namespaces
Variants

tuple-like , pair-like

From cppreference.net
Utilities library
template < class T >
concept tuple - like = /* voir ci-dessous */ ;
(1) (depuis C++23)
( exposition uniquement* )
template < class T >

concept pair - like =

tuple - like < T > && std:: tuple_size_v < std:: remove_cvref_t < T >> == 2 ;
(2) (depuis C++23)
( exposition uniquement* )
1) Un type T modélise et satisfait le concept tuple-like si std:: remove_cvref_t < T > est une spécialisation de
(depuis C++26)
2) pair-like objects are tuple-like objects with exactly 2 elements.

Notes

tuple-like types implémentent le protocole tuple , c'est-à-dire que ces types peuvent être utilisés avec std::get , std::tuple_element et std::tuple_size .

Les éléments des types tuple-like peuvent être liés avec la liaison structurée .

Voir aussi

tuple-like et pair-like sont utilisés dans les composants suivants de la bibliothèque standard :

construit un nouveau tuple
(fonction membre publique)
assigne le contenu d'un tuple à un autre
(fonction membre publique)
(supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (supprimé en C++20) (C++20)
compare lexicographiquement les valeurs dans le tuple
(modèle de fonction)
détermine le type de référence commun d'un tuple et d'un type tuple-like
(spécialisation de modèle de classe)
détermine le type commun d'un tuple et d'un type tuple-like
(spécialisation de modèle de classe)
(C++11)
crée un tuple en concaténant n'importe quel nombre de tuples
(modèle de fonction)
(C++17)
appelle une fonction avec un tuple d'arguments
(modèle de fonction)
construit un objet avec un tuple d'arguments
(modèle de fonction)
construit un nouveau pair
(fonction membre publique de std::pair<T1,T2> )
assigne le contenu
(fonction membre publique de std::pair<T1,T2> )
convertit le subrange en un type pair-like
(fonction membre publique de std::ranges::subrange<I,S,K> )
prend une view constituée de valeurs tuple-like et un nombre N, et produit une view du N ème élément de chaque tuple
(modèle de classe) (objet adaptateur de gamme)