std::experimental::unique_resource<R, D>:: operator=
|
unique_resource
&
operator
=
(
unique_resource
&&
other
)
noexcept ( /*ver más abajo*/ ) ; |
(biblioteca fundamentals TS v3) | |
Operador de asignación de movimiento. Reemplaza el recurso administrado y el eliminador con los de other .
Formalmente, sea
RS
el tipo de manejador de recursos almacenado:
- Primero, llama a reset ( ) para liberar el recurso actualmente poseído, si existe.
-
Luego asigna el manejador de recurso almacenado y el deleter con los de
other
.
std::movese aplica al manejador de recurso almacenado o al deleter de other si std:: is_nothrow_move_assignable_v < RS > o std:: is_nothrow_move_assignable_v < D > es true respectivamente. La asignación del manejador de recurso almacenado se ejecuta primero, a menos que std:: is_nothrow_move_assignable_v < D > sea false y std:: is_nothrow_move_assignable_v < RS > sea true . - Finalmente, establece que * this posea el recurso si y solo si other lo poseía antes de la asignación, y other deja de poseer el recurso.
Si
std::
is_nothrow_move_assignable_v
<
RS
>
es
true
,
RS
debe satisfacer los requisitos de
MoveAssignable
; de lo contrario
RS
debe satisfacer los requisitos de
CopyAssignable
. Si
std::
is_nothrow_move_assignable_v
<
D
>
es
true
,
D
debe satisfacer los requisitos de
MoveAssignable
; de lo contrario
D
debe satisfacer los requisitos de
CopyAssignable
. El incumplimiento de estos requisitos resulta en comportamiento indefinido.
Contenidos |
Parámetros
| otro | - | envoltorio de recurso del cual se transferirá la propiedad |
Valor de retorno
* this
Excepciones
Cualquier excepción lanzada en la asignación de copia.
Notas
Si una copia de un miembro lanza una excepción, este mecanismo deja other intacto y * this en estado liberado.
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Véase también
|
elimina o reemplaza el recurso gestionado
(función miembro pública) |
|
asigna el
unique_ptr
(función miembro pública de
std::unique_ptr<T,Deleter>
)
|