void swap(unique_lock& u) noexcept;
概要
他のunique_lock
オブジェクトと値を入れ替える
効果
unique_lock
オブジェクトu
が保持しているミューテックスの所有権を、自分のオブジェクトが保持しているミューテックスの所有権と入れ替える。
戻り値
なし
例外
投げない
例
#include <mutex>
#include <utility>
int main()
{
std::mutex mtx;
{
std::unique_lock<std::mutex> lk1(mtx);
std::unique_lock<std::mutex> lk2;
lk1.swap(lk2);
} // lk1はunlock()せず、lk2がunlock()する
}
出力
バージョン
言語
- C++11
処理系
- Clang: ??
- GCC: 4.7.0
- ICC: ??
- Visual C++: 2012, 2013, 2015