std::shared_lock<Mutex>:: operator=
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
shared_lock::operator=
|
||||
| Shared locking | ||||
| Modifiers | ||||
| Observers | ||||
| Non-member functions | ||||
|
shared_lock
&
operator
=
(
shared_lock
&&
other
)
noexcept
;
|
(начиная с C++14) | |
Оператор перемещающего присваивания. Эквивалентно shared_lock { std :: move ( other ) } . swap ( * this ) ; return * this ; .
Если other является тем же объектом, что и * this , эффекта не происходит.
В противном случае, если до этого вызова * this имеет связанный мьютекс (( mutex() возвращает ненулевой указатель) и получил владение им ( owns() возвращает true ), мьютекс разблокируется вызовом unlock_shared() . После этого вызова other не имеет связанного мьютекса.
Параметры
| other | - |
другой
shared_lock
для замены состояния
|
Возвращаемое значение
* this
Отчеты о дефектах
Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применяется к | Поведение в опубликованной версии | Корректное поведение |
|---|---|---|---|
| LWG 4172 | C++14 |
самоприсваивание перемещением
shared_lock
было некорректно специфицировано
|
переопределено как операция без действия |