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