33 Thread support library [thread]

33.4 Mutual exclusion [thread.mutex]

33.4.4 Locks [thread.lock]

33.4.4.4 Class template shared_­lock [thread.lock.shared]

33.4.4.4.3 shared_­lock modifiers [thread.lock.shared.mod]

void swap(shared_lock& sl) noexcept;

Effects: Меняет местами элементы данных *this и sl.

mutex_type* release() noexcept;

Returns: Предыдущее значение pm.

Postconditions: pm == nullptr и owns == false.

template <class Mutex> void swap(shared_lock<Mutex>& x, shared_lock<Mutex>& y) noexcept;

Effects: Как будто мимо x.swap(y).