std::experimental::unique_resource<R, D>:: operator=
|
unique_resource
&
operator
=
(
unique_resource
&&
other
)
noexcept ( /*voir ci-dessous*/ ) ; |
(bibliothèque fundamentals TS v3) | |
Opérateur d'affectation par déplacement. Remplace la ressource gérée et le suppresseur par ceux de other .
Formellement, soit
RS
le type du handle de ressource stockée :
- Premièrement, appelle reset ( ) pour libérer la ressource actuellement possédée, le cas échéant.
-
Puis assigne le gestionnaire de ressource stocké et le suppresseur avec ceux de
other
.
std::moveest appliqué au gestionnaire de ressource stocké ou au suppresseur de other si std:: is_nothrow_move_assignable_v < RS > ou std:: is_nothrow_move_assignable_v < D > est true respectivement. L'assignation du gestionnaire de ressource stocké est exécutée en premier, sauf si std:: is_nothrow_move_assignable_v < D > est false et std:: is_nothrow_move_assignable_v < RS > est true . - Finalement, définit * this pour posséder la ressource si et seulement si other la possédait avant l'assignation, et other ne possède plus la ressource.
Si
std::
is_nothrow_move_assignable_v
<
RS
>
est
true
,
RS
doit satisfaire aux exigences
MoveAssignable
; sinon
RS
doit satisfaire aux exigences
CopyAssignable
. Si
std::
is_nothrow_move_assignable_v
<
D
>
est
true
,
D
doit satisfaire aux exigences
MoveAssignable
; sinon
D
doit satisfaire aux exigences
CopyAssignable
. Le non-respect de ces exigences entraîne un comportement indéfini.
Table des matières |
Paramètres
| autre | - | gestionnaire de ressource dont la propriété sera transférée |
Valeur de retour
* this
Exceptions
Toute exception levée lors de la copie-assignation.
Notes
Si une copie d'un membre lève une exception, ce mécanisme laisse other intact et * this dans l'état libéré.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Voir aussi
|
supprime ou remplace la ressource gérée
(fonction membre publique) |
|
assigne le
unique_ptr
(fonction membre publique de
std::unique_ptr<T,Deleter>
)
|