Bienvenue sur la nouvelle documentation de CppUtils !
CppUtils::Thread::SharedLocker<class T>
CLASSMonitor Object wrapper providing shared read / exclusive write synchronization.
Description
Section intitulée « Description »Encapsulates a resource with a std::shared_mutex, allowing either multiple concurrent read-only accessors (via sharedAccess()) or a single exclusive read-write accessor (via uniqueAccess()).
| Paramètre template | Description |
|---|---|
T | Type of the protected resource. |
Types publics
Section intitulée « Types publics »UniqueAccessor
Section intitulée « UniqueAccessor »using CppUtils::Thread::SharedLocker< T >::UniqueAccessor = Accessor<T, SharedMutex>;SharedAccessor
Section intitulée « SharedAccessor »using CppUtils::Thread::SharedLocker< T >::SharedAccessor = ReadOnlyAccessor<T, SharedMutex>;Méthodes et fonctions publiques
Section intitulée « Méthodes et fonctions publiques »Constructs the protected resource in place.
| Paramètre | Description |
|---|---|
first | First argument forwarded to the resource constructor. |
rest | Rest of arguments forwarded to the resource constructor. |
Move constructor. Acquires lock on the source locker before moving its value.
constexpr auto SharedLocker::operator=(SharedLocker&& other) noexcept(std::is_nothrow_move_assignable_v<T>) -> SharedLocker&;Move assignment. Acquires scoped lock on both mutexes before moving the value.
Acquires exclusive read/write access.
Retourne : UniqueAccessor holding a unique lock.
Acquires shared read-only access.
Retourne : SharedAccessor holding a shared lock.