std::shared_lock<Mutex>::operator=
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++.
| Отчёт об ошибке | Применяется к | Опубликованное поведение | Правильное поведение |
|---|---|---|---|
| LWG 4172 | C++14 | самоперемещающее присваивание shared_lock было специфицировано некорректно | переспецифицировано как отсутствие действия |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/thread/shared_lock/operator%3D