W3cubDocs

/C++

std::unique_lock<Mutex>::swap

void swap( unique_lock& other ) noexcept;
(since C++11)

Exchanges the internal states of the lock objects.

Parameters

other - the lock to swap the state with

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 << "swaped success\n";
    }
 
    return 0;
}

Output:

swaped success

See also

(C++11)
specialization of std::swap for unique_lock
(function template)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/thread/unique_lock/swap