- shared_mutex[meta header]
- std[meta namespace]
- function template[meta id-type]
- cpp14[meta cpp]
namespace std {
template <class Mutex>
void swap(shared_lock<Mutex>& x, shared_lock<Mutex>& y) noexcept;
}2つのshared_lockオブジェクトを入れ替える
x.swap(y);- swap[link swap.md]
なし
投げない
#include <shared_mutex>
int main()
{
std::shared_timed_mutex mtx;
{
std::shared_lock<std::shared_timed_mutex> lock1(mtx);
std::shared_lock<std::shared_timed_mutex> lock2;
std::swap(lock1, lock2);
} // lock1はunlock_shared()せず、lock2がunlock_shared()する
}- std::swap[color ff0000]
- std::shared_timed_mutex[link /reference/shared_mutex/shared_timed_mutex.md]
- C++14
- Clang: 3.5
- GCC: 4.9
- ICC: ??
- Visual C++: 2015