32 Thread support library [thread]

32.5 Mutual exclusion [thread.mutex]

32.5.2 Header <shared_­mutex> synopsis [shared.mutex.syn]

namespace std {
  class shared_mutex;
  class shared_timed_mutex;
  template<class Mutex> class shared_lock;
  template<class Mutex>
    void swap(shared_lock<Mutex>& x, shared_lock<Mutex>& y) noexcept;
}