C++ named requirements: BasicLockable

From cppreference.com
< cpp‎ | named req
C++ named requirements

The BasicLockable requirements describe the minimal characteristics of types that provide exclusive blocking semantics for execution agents (i.e. threads).


For type L to be BasicLockable, the following conditions have to be satisfied for an object m of type L:

Expression Requires Effects
m.lock() Blocks until a lock can be obtained for the current execution agent (thread, process, task). If an exception is thrown, no lock is obtained.
m.unlock() The current execution agent should hold the lock m. Releases the lock held by the execution agent. Throws no exceptions.

See also