std::shared_lock<Mutex>::operator=
From cppreference.com
< cpp | thread | shared lock
shared_lock& operator=( shared_lock&& other )noexcept; | (since C++14) | |
Move assignment operator. Equivalent to shared_lock{std::move(other)}.swap(*this);return*this;.
If other is the same object as *this, there is no effect.
Otherwise, if prior to this call *this has an associated mutex ((mutex() returns a non-null pointer) and has acquired ownership of it (owns() returns true), the mutex is unlocked by calling unlock_shared(). After this call, other has no associated mutex.
[edit]Parameters
other | - | another shared_lock to replace the state with |
[edit]Return value
*this
[edit]Defect reports
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 4172 | C++14 | self-move-assignment of shared_lock was incorrectly specified | respecified as no-op |