std::shared_lock< _Mutex > Class Template Reference
Concurrency » Mutexes

`#include <shared_mutex>`

## Public Types

typedef _Mutex | mutex_type

## Public Member Functions

| shared_lock (mutex_type &__m)
| shared_lock (mutex_type &__m, adopt_lock_t)
template<typename _Rep, typename _Period>
| shared_lock (mutex_type &__m, const chrono::duration< _Rep, _Period > &__rel_time)
template<typename _Clock, typename _Duration>
| shared_lock (mutex_type &__m, const chrono::time_point< _Clock, _Duration > &__abs_time)
| shared_lock (mutex_type &__m, defer_lock_t) noexcept
| shared_lock (mutex_type &__m, try_to_lock_t)
| shared_lock (shared_lock &&__sl) noexcept
| shared_lock (shared_lock const &)=delete
void | lock ()
mutex_type * | mutex () const noexcept
| operator bool () const noexcept
shared_lock & | operator= (shared_lock &&__sl) noexcept
shared_lock & | operator= (shared_lock const &)=delete
bool | owns_lock () const noexcept
mutex_type * | release () noexcept
void | swap (shared_lock &__u) noexcept
bool | try_lock ()
template<typename _Rep, typename _Period>
bool | try_lock_for (const chrono::duration< _Rep, _Period > &__rel_time)
template<typename _Clock, typename _Duration>
bool | try_lock_until (const chrono::time_point< _Clock, _Duration > &__abs_time)
void | unlock ()

## Detailed Description

template<typename _Mutex>
class std::shared_lock< _Mutex >

shared_lock

Definition at line 729 of file shared_mutex.

## Member Typedef Documentation

## mutex_type

template<typename _Mutex>

typedef _Mutex std::shared_lock< _Mutex >::mutex_type

Definition at line 732 of file shared_mutex.

## Constructor & Destructor Documentation

## shared_lock() [1/8]

template<typename _Mutex>

std::shared_lock< _Mutex >::shared_lock | ( |  | ) |

inline noexcept

Definition at line 736 of file shared_mutex.

## shared_lock() [2/8]

template<typename _Mutex>

std::shared_lock< _Mutex >::shared_lock | ( | mutex_type & | __m | ) |

inline explicit

Definition at line 739 of file shared_mutex.

## shared_lock() [3/8]

template<typename _Mutex>

std::shared_lock< _Mutex >::shared_lock | ( | mutex_type & | __m,
|  | defer_lock_t | )

inline noexcept

Definition at line 743 of file shared_mutex.

## shared_lock() [4/8]

template<typename _Mutex>

std::shared_lock< _Mutex >::shared_lock | ( | mutex_type & | __m,
|  | try_to_lock_t | )

inline

Definition at line 746 of file shared_mutex.

## shared_lock() [5/8]

template<typename _Mutex>

std::shared_lock< _Mutex >::shared_lock | ( | mutex_type & | __m,
|  | adopt_lock_t | )

inline

Definition at line 749 of file shared_mutex.

## shared_lock() [6/8]

template<typename _Mutex>
template<typename _Clock, typename _Duration>

std::shared_lock< _Mutex >::shared_lock | ( | mutex_type & | __m,
|  | const chrono::time_point< _Clock, _Duration > & | __abs_time )

inline

Definition at line 753 of file shared_mutex.

## shared_lock() [7/8]

template<typename _Mutex>
template<typename _Rep, typename _Period>

std::shared_lock< _Mutex >::shared_lock | ( | mutex_type & | __m,
|  | const chrono::duration< _Rep, _Period > & | __rel_time )

inline

Definition at line 759 of file shared_mutex.

## ~shared_lock()

template<typename _Mutex>

std::shared_lock< _Mutex >::~shared_lock | ( |  | ) |

inline

Definition at line 764 of file shared_mutex.

## shared_lock() [8/8]

template<typename _Mutex>

std::shared_lock< _Mutex >::shared_lock | ( | shared_lock< _Mutex > && | __sl | ) |

inline noexcept

Definition at line 773 of file shared_mutex.

## Member Function Documentation

## lock()

template<typename _Mutex>

void std::shared_lock< _Mutex >::lock | ( |  | ) |

inline

Definition at line 784 of file shared_mutex.

## mutex()

template<typename _Mutex>

mutex_type * std::shared_lock< _Mutex >::mutex | ( |  | ) | const

inline nodiscard noexcept

Definition at line 850 of file shared_mutex.

## operator bool()

template<typename _Mutex>

std::shared_lock< _Mutex >::operator bool | ( |  | ) | const

inline explicit noexcept

Definition at line 847 of file shared_mutex.

## operator=()

template<typename _Mutex>

shared_lock & std::shared_lock< _Mutex >::operator= | ( | shared_lock< _Mutex > && | __sl | ) |

inline noexcept

Definition at line 777 of file shared_mutex.

## owns_lock()

template<typename _Mutex>

bool std::shared_lock< _Mutex >::owns_lock | ( |  | ) | const

inline nodiscard noexcept

Definition at line 845 of file shared_mutex.

## release()

template<typename _Mutex>

mutex_type * std::shared_lock< _Mutex >::release | ( |  | ) |

inline noexcept

Definition at line 836 of file shared_mutex.

## swap()

template<typename _Mutex>

void std::shared_lock< _Mutex >::swap | ( | shared_lock< _Mutex > & | __u | ) |

inline noexcept

Definition at line 829 of file shared_mutex.

## try_lock()

template<typename _Mutex>

bool std::shared_lock< _Mutex >::try_lock | ( |  | ) |

inline nodiscard

Definition at line 793 of file shared_mutex.

## try_lock_for()

template<typename _Mutex>
template<typename _Rep, typename _Period>

bool std::shared_lock< _Mutex >::try_lock_for | ( | const chrono::duration< _Rep, _Period > & | __rel_time | ) |

inline nodiscard

Definition at line 802 of file shared_mutex.

## try_lock_until()

template<typename _Mutex>
template<typename _Clock, typename _Duration>

bool std::shared_lock< _Mutex >::try_lock_until | ( | const chrono::time_point< _Clock, _Duration > & | __abs_time | ) |

inline nodiscard

Definition at line 811 of file shared_mutex.

## unlock()

template<typename _Mutex>

void std::shared_lock< _Mutex >::unlock | ( |  | ) |

inline

Definition at line 818 of file shared_mutex.

The documentation for this class was generated from the following file:

- shared_mutex