std::experimental::optional<T>:: swap
|
void
swap
(
optional
&
other
)
noexcept
(
/* voir ci-dessous */
)
;
|
(spécifications techniques des bibliothèques fondamentales) | |
Échange le contenu avec celui de other .
- Si ni * this ni other ne contiennent de valeur, la fonction n'a aucun effet.
-
Si un seul des deux
*
this
et
other
contient une valeur (appelons cet objet
inet l'autreun), la valeur contenue deunest initialisée directement à partir de std :: move ( * in ) , suivie de la destruction de la valeur contenue deincomme par in. val - > T :: ~T ( ) . Après cet appel,inne contient pas de valeur tandis queuncontient une valeur.
-
Si les deux
*
this
et
other
contiennent des valeurs, les valeurs contenues sont échangées en appelant
using
std::
swap
;
swap
(
**
this,
*
other
)
.
Tles lvalues doivent satisfaire Swappable .
Table des matières |
Paramètres
| autre | - |
l'objet
optional
avec lequel échanger le contenu
|
Valeur de retour
(aucun)
Exceptions
noexcept ( swap ( std:: declval < T & > ( ) , std:: declval < T & > ( ) ) ) )
En cas d'exception levée, les états des valeurs contenues de
*
this
et
other
sont déterminés par les garanties de sûreté face aux exceptions de
swap
du type
T
ou du constructeur de déplacement de
T
, selon celui qui est appelé. Pour
*
this
et
other
, si l'objet contenait une valeur, il reste contenant une valeur, et vice versa.
Voir aussi
|
spécialise l'algorithme
std::swap
(fonction) |