From Jason Turner

[thread.timedmutex.requirements]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp5sdirwfp/{from.md → to.md} +12 -10
tmp/tmp5sdirwfp/{from.md → to.md} RENAMED
@@ -1,16 +1,18 @@
1
  #### Timed mutex types <a id="thread.timedmutex.requirements">[[thread.timedmutex.requirements]]</a>
2
 
 
 
3
  The *timed mutex types* are the standard library types `timed_mutex`,
4
  `recursive_timed_mutex`, and `shared_timed_mutex`. They meet the
5
  requirements set out below. In this description, `m` denotes an object
6
  of a mutex type, `rel_time` denotes an object of an instantiation of
7
  `duration` [[time.duration]], and `abs_time` denotes an object of an
8
  instantiation of `time_point` [[time.point]].
9
 
10
- The timed mutex types meet the *Cpp17TimedLockable* requirements
11
- [[thread.req.lockable.timed]].
12
 
13
  The expression `m.try_lock_for(rel_time)` is well-formed and has the
14
  following semantics:
15
 
16
  *Preconditions:* If `m` is of type `timed_mutex` or
@@ -26,18 +28,18 @@ the mutex object.
26
 
27
  [*Note 1*: As with `try_lock()`, there is no guarantee that ownership
28
  will be obtained if the lock is available, but implementations are
29
  expected to make a strong effort to do so. — *end note*]
30
 
31
- *Return type:* `bool`.
32
-
33
- *Returns:* `true` if ownership was obtained, otherwise `false`.
34
-
35
  *Synchronization:* If `try_lock_for()` returns `true`, prior `unlock()`
36
  operations on the same object *synchronize with*[[intro.multithread]]
37
  this operation.
38
 
 
 
 
 
39
  *Throws:* Timeout-related exceptions [[thread.req.timing]].
40
 
41
  The expression `m.try_lock_until(abs_time)` is well-formed and has the
42
  following semantics:
43
 
@@ -52,18 +54,18 @@ before the absolute timeout [[thread.req.timing]] specified by
52
 
53
  [*Note 2*: As with `try_lock()`, there is no guarantee that ownership
54
  will be obtained if the lock is available, but implementations are
55
  expected to make a strong effort to do so. — *end note*]
56
 
57
- *Return type:* `bool`.
58
-
59
- *Returns:* `true` if ownership was obtained, otherwise `false`.
60
-
61
  *Synchronization:* If `try_lock_until()` returns `true`, prior
62
  `unlock()` operations on the same object *synchronize
63
  with*[[intro.multithread]] this operation.
64
 
 
 
 
 
65
  *Throws:* Timeout-related exceptions [[thread.req.timing]].
66
 
67
  ##### Class `timed_mutex` <a id="thread.timedmutex.class">[[thread.timedmutex.class]]</a>
68
 
69
  ``` cpp
 
1
  #### Timed mutex types <a id="thread.timedmutex.requirements">[[thread.timedmutex.requirements]]</a>
2
 
3
+ ##### General <a id="thread.timedmutex.requirements.general">[[thread.timedmutex.requirements.general]]</a>
4
+
5
  The *timed mutex types* are the standard library types `timed_mutex`,
6
  `recursive_timed_mutex`, and `shared_timed_mutex`. They meet the
7
  requirements set out below. In this description, `m` denotes an object
8
  of a mutex type, `rel_time` denotes an object of an instantiation of
9
  `duration` [[time.duration]], and `abs_time` denotes an object of an
10
  instantiation of `time_point` [[time.point]].
11
 
12
+ [*Note 1*: The timed mutex types meet the *Cpp17TimedLockable*
13
+ requirements [[thread.req.lockable.timed]]. — *end note*]
14
 
15
  The expression `m.try_lock_for(rel_time)` is well-formed and has the
16
  following semantics:
17
 
18
  *Preconditions:* If `m` is of type `timed_mutex` or
 
28
 
29
  [*Note 1*: As with `try_lock()`, there is no guarantee that ownership
30
  will be obtained if the lock is available, but implementations are
31
  expected to make a strong effort to do so. — *end note*]
32
 
 
 
 
 
33
  *Synchronization:* If `try_lock_for()` returns `true`, prior `unlock()`
34
  operations on the same object *synchronize with*[[intro.multithread]]
35
  this operation.
36
 
37
+ *Return type:* `bool`.
38
+
39
+ *Returns:* `true` if ownership was obtained, otherwise `false`.
40
+
41
  *Throws:* Timeout-related exceptions [[thread.req.timing]].
42
 
43
  The expression `m.try_lock_until(abs_time)` is well-formed and has the
44
  following semantics:
45
 
 
54
 
55
  [*Note 2*: As with `try_lock()`, there is no guarantee that ownership
56
  will be obtained if the lock is available, but implementations are
57
  expected to make a strong effort to do so. — *end note*]
58
 
 
 
 
 
59
  *Synchronization:* If `try_lock_until()` returns `true`, prior
60
  `unlock()` operations on the same object *synchronize
61
  with*[[intro.multithread]] this operation.
62
 
63
+ *Return type:* `bool`.
64
+
65
+ *Returns:* `true` if ownership was obtained, otherwise `false`.
66
+
67
  *Throws:* Timeout-related exceptions [[thread.req.timing]].
68
 
69
  ##### Class `timed_mutex` <a id="thread.timedmutex.class">[[thread.timedmutex.class]]</a>
70
 
71
  ``` cpp