GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::shared_lock(3) C++ Standard Libary std::shared_lock(3)

std::shared_lock - std::shared_lock


Defined in header <shared_mutex>
template< class Mutex > (since C++14)
class shared_lock;


The class shared_lock is a general-purpose shared mutex ownership wrapper allowing
deferred locking, timed locking and transfer of lock ownership. Locking a
shared_lock locks the associated shared mutex in shared mode (to lock it in
exclusive mode, std::unique_lock can be used)


The shared_lock class is movable, but not copyable -- it meets the requirements of
MoveConstructible and MoveAssignable but not of CopyConstructible or CopyAssignable.


shared_lock meets the Lockable requirements. If Mutex meets the SharedTimedLockable
requirements, shared_lock also meets TimedLockable requirements.


In order to wait in a shared mutex in shared ownership mode,
std::condition_variable_any can be used (std::condition_variable requires
std::unique_lock and so can only wait in unique ownership mode)


Mutex - the type of the shared mutex to lock. The type must meet the SharedLockable
requirements


Type Definition
mutex_type Mutex


constructor constructs a shared_lock, optionally locking the supplied mutex
(public member function)
destructor unlocks the associated mutex
(public member function)
operator= unlocks the mutex, if owned, and acquires ownership of another
(public member function)


lock locks the associated mutex
(public member function)
try_lock tries to lock the associated mutex
(public member function)
try_lock_for tries to lock the associated mutex, for the specified duration
(public member function)
try_lock_until tries to lock the associated mutex, until a specified time point
(public member function)
unlock unlocks the associated mutex
(public member function)


swap swaps the data members with another shared_lock
(public member function)
release disassociates the mutex without unlocking
(public member function)


mutex returns a pointer to the associated mutex
(public member function)
owns_lock tests whether the lock owns its associated mutex
(public member function)
operator bool tests whether the lock owns its associated mutex
(public member function)


std::swap(std::shared_lock) specialization of std::swap for shared_lock
(C++14) (function template)


Defect reports


The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.


DR Applied to Behavior as published Correct behavior
LWG 2981 C++17 redundant deduction guide from removed
shared_lock<Mutex> was provided

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.