最終更新日時(UTC):
が更新

履歴 編集

function template
<mutex>

std::swap (非メンバ関数)(C++11)

namespace std {
  template <class Mutex>
  void swap(unique_lock<Mutex>& x, unique_lock<Mutex>& y) noexcept;
}

概要

2つのunique_lockオブジェクトを入れ替える

効果

x.swap(y);

戻り値

なし

例外

投げない

#include <mutex>
#include <utility>

int main()
{
  std::mutex mtx;
  {
    std::unique_lock<std::mutex> lk1(mtx);
    std::unique_lock<std::mutex> lk2;

    std::swap(lk1, lk2);

  } // lk1はunlock()せず、lk2がunlock()する
}

出力

バージョン

言語

  • C++11

処理系

参照