Skip to content

Latest commit

 

History

History
64 lines (44 loc) · 1.08 KB

swap.md

File metadata and controls

64 lines (44 loc) · 1.08 KB

swap

  • mutex[meta header]
  • std[meta namespace]
  • unique_lock[meta class]
  • function[meta id-type]
  • cpp11[meta cpp]
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()する
}
  • swap[color ff0000]

出力

バージョン

言語

  • C++11

処理系

  • Clang: ??
  • GCC: 4.7.0 [mark verified]
  • ICC: ??
  • Visual C++: 2012 [mark verified], 2013 [mark verified], 2015 [mark verified]

参照