Spec-Zone.ru › C++

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API