std:: pair
|
Défini dans l'en-tête
<utility>
|
||
|
template
<
class
T1,
|
||
std::pair
est un modèle de classe qui permet de stocker deux objets hétérogènes comme une seule unité. Une paire est un cas spécifique d'un
std::tuple
avec deux éléments.
Si ni
T1
ni
T2
n'est un type de classe éventuellement qualifié cv avec un destructeur non trivial, ou un tableau de ceux-ci, le destructeur de
pair
est trivial.
Table des matières |
Paramètres du modèle
| T1, T2 | - | les types des éléments que la paire stocke. |
Types membres
| Type de membre | Définition |
first_type
|
T1
|
second_type
|
T2
|
Objets membres
| Nom du membre | Type |
first
|
T1
|
second
|
T2
|
Fonctions membres
construit un nouveau
pair
(fonction membre publique) |
|
|
assigne le contenu
(fonction membre publique) |
|
|
(C++11)
|
échange le contenu
(fonction membre publique) |
Fonctions non membres
crée un objet
pair
dont le type est déterminé par les types des arguments
(modèle de fonction) |
|
|
(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 la
pair
(modèle de fonction) |
|
(C++11)
|
spécialise l'algorithme
std::swap
(modèle de fonction) |
|
(C++11)
|
accède à un élément d'une
pair
(modèle de fonction) |
Classes d'assistance
|
(C++11)
|
obtient la taille d'une
pair
(spécialisation de modèle de classe) |
|
(C++11)
|
obtient le type des éléments d'une
pair
(spécialisation de modèle de classe) |
détermine le type de référence commun de deux
pair
s
(spécialisation de modèle de classe) |
|
|
(C++23)
|
détermine le type commun de deux
pair
s
(spécialisation de modèle de classe) |
|
(C++23)
|
support de formatage pour
pair
(spécialisation de modèle de classe) |
Spécialisations d'assistance
|
template
<
class
T,
class
U
>
constexpr
bool
enable_nonlocking_formatter_optimization
<
std
::
pair
<
T, U
>>
=
|
(depuis C++23) | |
Cette spécialisation de
std::enable_nonlocking_formatter_optimization
permet une implémentation efficace de
std::print
et
std::println
pour l'affichage d'un objet
pair
lorsque
T
et
U
l'activent tous deux.
Guides de déduction (depuis C++17)
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 2796 | C++98 |
la trivialité du destructeur de
pair
n'était pas spécifiée
|
spécifiée |
Voir aussi
|
(C++11)
|
implémente un conteneur de taille fixe, qui contient des éléments de types potentiellement différents
(modèle de classe) |
|
(C++11)
|
crée un
tuple
de références de lvalues ou décompose un tuple en objets individuels
(modèle de fonction) |