From Jason Turner

[thread.req.lockable.shared.timed]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpuot55_4n/{from.md → to.md} +35 -0
tmp/tmpuot55_4n/{from.md → to.md} RENAMED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### *Cpp17SharedTimedLockable* requirements <a id="thread.req.lockable.shared.timed">[[thread.req.lockable.shared.timed]]</a>
2
+
3
+ A type `L` meets the *Cpp17SharedTimedLockable* requirements if it meets
4
+ the *Cpp17SharedLockable* requirements, and the following expressions
5
+ are well-formed, have type `bool`, and have the specified semantics (`m`
6
+ denotes a value of type `L`, `rel_time` denotes a value of a
7
+ specialization of `chrono::duration`, and `abs_time` denotes a value of
8
+ a specialization of `chrono::time_point`).
9
+
10
+ ``` cpp
11
+ m.try_lock_shared_for(rel_time)
12
+ ```
13
+
14
+ *Effects:* Attempts to acquire a lock for the current execution agent
15
+ within the relative timeout [[thread.req.timing]] specified by
16
+ `rel_time`. The function will not return within the timeout specified by
17
+ `rel_time` unless it has obtained a lock on `m` for the current
18
+ execution agent. If an exception is thrown then a lock has not been
19
+ acquired for the current execution agent.
20
+
21
+ *Returns:* `true` if the lock was acquired, `false` otherwise.
22
+
23
+ ``` cpp
24
+ m.try_lock_shared_until(abs_time)
25
+ ```
26
+
27
+ *Effects:* Attempts to acquire a lock for the current execution agent
28
+ before the absolute timeout [[thread.req.timing]] specified by
29
+ `abs_time`. The function will not return before the timeout specified by
30
+ `abs_time` unless it has obtained a lock on `m` for the current
31
+ execution agent. If an exception is thrown then a lock has not been
32
+ acquired for the current execution agent.
33
+
34
+ *Returns:* `true` if the lock was acquired, `false` otherwise.
35
+