tmp/tmp88um61n7/{from.md → to.md}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
| 1 |
-
####
|
| 2 |
|
| 3 |
-
A type `L` meets the
|
| 4 |
expressions are well-formed and have the specified semantics (`m`
|
| 5 |
denotes a value of type `L`).
|
| 6 |
|
| 7 |
``` cpp
|
| 8 |
m.lock()
|
|
@@ -14,11 +14,11 @@ acquired for the current execution agent.
|
|
| 14 |
|
| 15 |
``` cpp
|
| 16 |
m.unlock()
|
| 17 |
```
|
| 18 |
|
| 19 |
-
*
|
| 20 |
|
| 21 |
*Effects:* Releases a lock on `m` held by the current execution agent.
|
| 22 |
|
| 23 |
*Throws:* Nothing.
|
| 24 |
|
|
|
|
| 1 |
+
#### *Cpp17BasicLockable* requirements <a id="thread.req.lockable.basic">[[thread.req.lockable.basic]]</a>
|
| 2 |
|
| 3 |
+
A type `L` meets the *Cpp17BasicLockable* requirements if the following
|
| 4 |
expressions are well-formed and have the specified semantics (`m`
|
| 5 |
denotes a value of type `L`).
|
| 6 |
|
| 7 |
``` cpp
|
| 8 |
m.lock()
|
|
|
|
| 14 |
|
| 15 |
``` cpp
|
| 16 |
m.unlock()
|
| 17 |
```
|
| 18 |
|
| 19 |
+
*Preconditions:* The current execution agent holds a lock on `m`.
|
| 20 |
|
| 21 |
*Effects:* Releases a lock on `m` held by the current execution agent.
|
| 22 |
|
| 23 |
*Throws:* Nothing.
|
| 24 |
|