tmp/tmpuvxvezbq/{from.md → to.md}
RENAMED
|
@@ -8,39 +8,37 @@ namespace std {
|
|
| 8 |
~shared_timed_mutex();
|
| 9 |
|
| 10 |
shared_timed_mutex(const shared_timed_mutex&) = delete;
|
| 11 |
shared_timed_mutex& operator=(const shared_timed_mutex&) = delete;
|
| 12 |
|
| 13 |
-
//
|
| 14 |
void lock(); // blocking
|
| 15 |
bool try_lock();
|
| 16 |
template<class Rep, class Period>
|
| 17 |
bool try_lock_for(const chrono::duration<Rep, Period>& rel_time);
|
| 18 |
template<class Clock, class Duration>
|
| 19 |
bool try_lock_until(const chrono::time_point<Clock, Duration>& abs_time);
|
| 20 |
void unlock();
|
| 21 |
|
| 22 |
-
//
|
| 23 |
void lock_shared(); // blocking
|
| 24 |
bool try_lock_shared();
|
| 25 |
template<class Rep, class Period>
|
| 26 |
-
bool
|
| 27 |
-
try_lock_shared_for(const chrono::duration<Rep, Period>& rel_time);
|
| 28 |
template<class Clock, class Duration>
|
| 29 |
-
bool
|
| 30 |
-
try_lock_shared_until(const chrono::time_point<Clock, Duration>& abs_time);
|
| 31 |
void unlock_shared();
|
| 32 |
};
|
| 33 |
}
|
| 34 |
```
|
| 35 |
|
| 36 |
The class `shared_timed_mutex` provides a non-recursive mutex with
|
| 37 |
shared ownership semantics.
|
| 38 |
|
| 39 |
-
The class `shared_timed_mutex`
|
| 40 |
-
|
| 41 |
-
|
| 42 |
|
| 43 |
The behavior of a program is undefined if:
|
| 44 |
|
| 45 |
- it destroys a `shared_timed_mutex` object owned by any thread,
|
| 46 |
- a thread attempts to recursively gain any ownership of a
|
|
|
|
| 8 |
~shared_timed_mutex();
|
| 9 |
|
| 10 |
shared_timed_mutex(const shared_timed_mutex&) = delete;
|
| 11 |
shared_timed_mutex& operator=(const shared_timed_mutex&) = delete;
|
| 12 |
|
| 13 |
+
// exclusive ownership
|
| 14 |
void lock(); // blocking
|
| 15 |
bool try_lock();
|
| 16 |
template<class Rep, class Period>
|
| 17 |
bool try_lock_for(const chrono::duration<Rep, Period>& rel_time);
|
| 18 |
template<class Clock, class Duration>
|
| 19 |
bool try_lock_until(const chrono::time_point<Clock, Duration>& abs_time);
|
| 20 |
void unlock();
|
| 21 |
|
| 22 |
+
// shared ownership
|
| 23 |
void lock_shared(); // blocking
|
| 24 |
bool try_lock_shared();
|
| 25 |
template<class Rep, class Period>
|
| 26 |
+
bool try_lock_shared_for(const chrono::duration<Rep, Period>& rel_time);
|
|
|
|
| 27 |
template<class Clock, class Duration>
|
| 28 |
+
bool try_lock_shared_until(const chrono::time_point<Clock, Duration>& abs_time);
|
|
|
|
| 29 |
void unlock_shared();
|
| 30 |
};
|
| 31 |
}
|
| 32 |
```
|
| 33 |
|
| 34 |
The class `shared_timed_mutex` provides a non-recursive mutex with
|
| 35 |
shared ownership semantics.
|
| 36 |
|
| 37 |
+
The class `shared_timed_mutex` meets all of the shared timed mutex
|
| 38 |
+
requirements [[thread.sharedtimedmutex.requirements]]. It is a
|
| 39 |
+
standard-layout class [[class.prop]].
|
| 40 |
|
| 41 |
The behavior of a program is undefined if:
|
| 42 |
|
| 43 |
- it destroys a `shared_timed_mutex` object owned by any thread,
|
| 44 |
- a thread attempts to recursively gain any ownership of a
|