std::experimental::optional<T>:: swap
|
void
swap
(
optional
&
other
)
noexcept
(
/* ver más abajo */
)
;
|
(biblioteca fundamentals TS) | |
Intercambia el contenido con el de other .
- Si ni * this ni other contienen un valor, la función no tiene efecto.
-
Si solo uno de
*
this
y
other
contiene un valor (llamemos a este objeto
iny al otroun), el valor contenido deunes inicializado directamente desde std :: move ( * in ) , seguido por la destrucción del valor contenido deincomo si fuera mediante in. val - > T :: ~T ( ) . Después de esta llamada,inno contiene un valor yuncontiene un valor.
-
Si tanto
*
this
como
other
contienen valores, los valores contenidos se intercambian llamando a
using
std::
swap
;
swap
(
**
this,
*
other
)
.
Los valores-l
Tdeben satisfacer Swappable .
Contenidos |
Parámetros
| otro | - |
el objeto
optional
con el cual intercambiar los contenidos
|
Valor de retorno
(ninguno)
Excepciones
noexcept ( swap ( std:: declval < T & > ( ) , std:: declval < T & > ( ) ) ) )
En caso de una excepción lanzada, los estados de los valores contenidos de
*
this
y
other
están determinados por las garantías de seguridad de excepciones de
swap
del tipo
T
o del constructor de movimiento de
T
, según cuál sea llamado. Tanto para
*
this
como para
other
, si el objeto contenía un valor, permanece conteniendo un valor, y viceversa.
Véase también
|
especializa el algoritmo
std::swap
(función) |