33
Concurrency support library
[thread]
33.2
Requirements
[thread.req]
33.2.5
Requirements for
Cpp17Lockable
types
[thread.req.lockable]
33.2.5.2
Cpp17BasicLockable
requirements
[thread.req.lockable.basic]
1
#
A type
L
meets the
Cpp17BasicLockable
requirements if the following expressions are well-formed and have the specified semantics (
m
denotes a value of type
L
)
.
🔗
m
.
lock
(
)
2
#
Effects
: Blocks until a lock can be acquired for the current execution agent
.
If an exception is thrown then a lock shall not have been acquired for the current execution agent
.
🔗
m
.
unlock
(
)
3
#
Preconditions
: The current execution agent holds a non-shared lock on
m
.
4
#
Effects
: Releases a non-shared lock on
m
held by the current execution agent
.
5
#
Throws
: Nothing
.