名前空間
変種
操作

std::shared_lock<Mutex>::operator=

From cppreference.com
< cpp‎ | thread‎ | shared lock
 
 
並行性サポートライブラリ
スレッド
(C++11)
(C++20)
this_thread 名前空間
(C++11)
(C++11)
(C++11)
協調的なキャンセル
排他制御
(C++11)
汎用ロック管理
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
条件変数
(C++11)
セマフォ
ラッチとバリア
(C++20)
(C++20)
future
(C++11)
(C++11)
(C++11)
(C++11)
安全なメモリ解放 (Safe Reclamation)
(C++26)
ハザードポインタ
アトミック型
(C++11)
(C++20)
アトミック型の初期化
(C++11)(C++20で非推奨)
(C++11)(C++20で非推奨)
メモリオーダー
(C++11)(C++26で非推奨)
アトミック操作のためのフリー関数
アトミックフラグのためのフリー関数
 
 
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 は関連付けられたミューテックスを持ちません。

[編集] パラメータ

その他 - 状態を置き換える別の shared_lock

[編集] 戻り値

*this

[編集] 不具合報告

以下の動作変更を伴う欠陥報告が、以前に公開されたC++標準に遡って適用されました。

DR 適用対象 公開された動作 正しい動作
LWG 4172 C++14 shared_lock の自己ムーブ代入が誤って指定されていました 何もしない操作として再指定されました
English 日本語 中文(简体) 中文(繁體)