std::unique_lock<Mutex>::swap

Exchanges the internal states of the lock objects.

# Declarations

void swap( unique_lock& other ) noexcept;

(since C++11)

# Parameters

# Return value

(none)

# Example

#include <iostream>
#include <mutex>
 
int main()
{
    std::mutex mtx1;
    std::unique_lock<std::mutex> guard1(mtx1);
    std::unique_lock<std::mutex> guard2;
    guard2.swap(guard1);
 
    if (!guard1 && guard2)
        std::cout << "swapped success\n";
 
    return 0;
}

# See also