Namespaces
Variants

tuple-like, pair-like

Depuis fr.cppreference.net
 
 
Bibliothèque d'utilitaires
Support du langage
Support des types (types de base, RTTI)
Macros de test de fonctionnalités de la bibliothèque (C++20)
Utilitaires de programme
Fonctions variadiques
Support des coroutines (C++20)
Support des contrats (C++26)
Comparaison à trois voies
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Utilitaires généraux
Opérateurs relationnels (obsolète en C++20)
 
 
template< class T >
concept tuple-like = /* see below */;
(1) (depuis C++23)
(exposé uniquement*)
template< class T >
concept pair-like =
    tuple-like<T> && std::tuple_size_v<std::remove_cvref_t<T>> == 2;
(2) (depuis C++23)
(exposé uniquement*)
1) Un type T modélise et satisfait le concept tuple-like si std::remove_cvref_t<T> est une spécialisation de
  • std::array,
  • std::complex,
(depuis C++26)
  • std::pair,
  • std::tuple, ou
  • std::ranges::subrange.
2) pair-like Les objets tuple-like sont des objets avec exactement 2 éléments.

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)