From Jason Turner

[thread.timedmutex.class]

Diff to HTML by rtfpessoa

tmp/tmp2_votys2/{from.md → to.md} RENAMED
@@ -16,12 +16,12 @@ namespace std {
16
  bool try_lock_for(const chrono::duration<Rep, Period>& rel_time);
17
  template<class Clock, class Duration>
18
  bool try_lock_until(const chrono::time_point<Clock, Duration>& abs_time);
19
  void unlock();
20
 
21
- using native_handle_type = implementation-defined; // See~[thread.req.native]
22
- native_handle_type native_handle(); // See~[thread.req.native]
23
  };
24
  }
25
  ```
26
 
27
  The class `timed_mutex` provides a non-recursive mutex with exclusive
@@ -30,13 +30,13 @@ by another thread to acquire ownership of that object will fail (for
30
  `try_lock()`) or block (for `lock()`, `try_lock_for()`, and
31
  `try_lock_until()`) until the owning thread has released ownership with
32
  a call to `unlock()` or the call to `try_lock_for()` or
33
  `try_lock_until()` times out (having failed to obtain ownership).
34
 
35
- The class `timed_mutex` shall satisfy all of the timed mutex
36
- requirements ([[thread.timedmutex.requirements]]). It shall be a
37
- standard-layout class (Clause  [[class]]).
38
 
39
  The behavior of a program is undefined if:
40
 
41
  - it destroys a `timed_mutex` object owned by any thread,
42
  - a thread that owns a `timed_mutex` object calls `lock()`,
 
16
  bool try_lock_for(const chrono::duration<Rep, Period>& rel_time);
17
  template<class Clock, class Duration>
18
  bool try_lock_until(const chrono::time_point<Clock, Duration>& abs_time);
19
  void unlock();
20
 
21
+ using native_handle_type = implementation-defined; // see~[thread.req.native]
22
+ native_handle_type native_handle(); // see~[thread.req.native]
23
  };
24
  }
25
  ```
26
 
27
  The class `timed_mutex` provides a non-recursive mutex with exclusive
 
30
  `try_lock()`) or block (for `lock()`, `try_lock_for()`, and
31
  `try_lock_until()`) until the owning thread has released ownership with
32
  a call to `unlock()` or the call to `try_lock_for()` or
33
  `try_lock_until()` times out (having failed to obtain ownership).
34
 
35
+ The class `timed_mutex` meets all of the timed mutex requirements
36
+ [[thread.timedmutex.requirements]]. It is a standard-layout class
37
+ [[class.prop]].
38
 
39
  The behavior of a program is undefined if:
40
 
41
  - it destroys a `timed_mutex` object owned by any thread,
42
  - a thread that owns a `timed_mutex` object calls `lock()`,