std::shared_lock<Mutex>:: operator=
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
shared_lock::operator=
|
||||
| Shared locking | ||||
| Modifiers | ||||
| Observers | ||||
| Non-member functions | ||||
|
shared_lock
&
operator
=
(
shared_lock
&&
other
)
noexcept
;
|
(desde C++14) | |
Operador de asignación de movimiento. Equivalente a shared_lock { std :: move ( other ) } . swap ( * this ) ; return * this ; .
Si other es el mismo objeto que * this , no hay ningún efecto.
De lo contrario, si antes de esta llamada * this tiene un mutex asociado (( mutex() devuelve un puntero no nulo) y ha adquirido su propiedad ( owns() devuelve true ), el mutex se desbloquea llamando a unlock_shared() . Después de esta llamada, other no tiene mutex asociado.
Parámetros
| otro | - |
otro
shared_lock
para reemplazar el estado con
|
Valor de retorno
* this
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 4172 | C++14 |
la auto-asignación de movimiento de
shared_lock
estaba incorrectamente especificada
|
reespecificada como no-operación |