...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Table 28.1. C++11 standard Conformace
Section |
Description |
Status |
Comments |
Ticket |
---|---|---|---|---|
30 |
Thread support library |
Partial |
- |
- |
30.1 |
General |
- |
- |
- |
30.2 |
Requirements |
- |
- |
- |
30.2.1 |
Template parameter names |
- |
- |
- |
30.2.2 |
Exceptions |
Yes |
- |
- |
30.2.3 |
Native handles |
Yes |
- |
- |
30.2.4 |
Timing specifications |
Yes |
- |
- |
30.2.5 |
Requirements for Lockable types |
Yes |
- |
- |
30.2.5.1 |
In general |
- |
- |
- |
30.2.5.2 |
BasicLockable requirements |
Yes |
- |
- |
30.2.5.3 |
Lockable requirements |
yes |
- |
- |
30.2.5.4 |
TimedLockable requirements |
Yes |
- |
- |
30.2.6 |
decay_copy |
- |
- |
- |
30.3 |
Threads |
Partial |
- |
- |
30.3.1 |
Class thread |
Partial |
move,variadic,terminate |
#zzzz,#6270,#6269 |
30.3.1.1 |
Class thread::id |
Yes |
- |
- |
30.3.1.2 |
thread constructors |
Partial |
move,variadic |
#zzzz,#6270 |
30.3.1.3 |
thread destructor |
Partial |
terminate |
#6266 |
30.3.1.4 |
thread assignment |
Partial |
terminate |
#6269 |
30.3.1.5 |
thread members |
Yes |
- |
- |
30.3.1.6 |
thread static members |
Yes |
- |
- |
30.3.1.7 |
thread specialized algorithms |
Yes |
- |
- |
30.3.2 |
Namespace this_thread |
Yes |
- |
- |
30.4 |
Mutual exclusion |
Partial |
- |
- |
30.4.1 |
Mutex requirements |
Yes |
- |
- |
30.4.1.1 |
In general |
Yes |
- |
- |
30.4.1.2 |
Mutex types |
Yes |
- |
- |
30.4.1.2.1 |
Class mutex |
Yes |
- |
- |
30.4.1.2.2 |
Class recursive_mutex |
Yes |
- |
- |
30.4.1.3 |
Timed mutex types |
Yes |
- |
- |
30.4.1.3.1 |
Class timed_mutex |
Yes |
- |
- |
30.4.1.3.1 |
Class recursive_timed_mutex |
Yes |
- |
- |
30.4.2 |
Locks |
Partial |
variadic |
#6227 |
30.4.2.1 |
Class template lock_guard |
Yes |
- |
- |
30.4.2.2 |
Class template unique_lock |
Yes |
- |
- |
30.4.2.2.1 |
unique_lock constructors, destructor, and assignment |
Yes |
- |
- |
30.4.2.2.2 |
unique_lock locking |
Yes |
- |
- |
30.4.2.2.3 |
unique_lock modifiers |
Yes |
- |
- |
30.4.2.2.4 |
unique_lock observers |
Yes |
- |
|
30.4.3 |
Generic locking algorithms |
Partial |
variadic |
#6227 |
30.4.4 |
Call once |
Partial |
The interface doesn't corresponds |
#6342 |
30.4.4.1 |
Struct once_flag |
Partial |
interface |
#6342 |
30.4.4.2 |
Function call_once |
Partial |
interface |
#6342 |
30.5 |
Condition variables |
Partial |
notify_all_at_thread_exit |
#xxxx |
30.5 6-10 |
Function notify_all_at_thread_exit |
No |
- |
#xxxx |
30.5.1 |
Class condition_variable |
Yes |
- |
- |
30.5.2 |
Class condition_variable_any |
Yes |
- |
- |
30.6 |
Futures |
Partial |
- |
- |
30.6.1 |
Overview |
Partial |
- |
- |
30.6.2 |
Error handling |
Yes |
- |
- |
30.6.3 |
Class future_error |
Yes |
- |
- |
30.6.4 |
Shared state |
- |
- |
- |
30.6.5 |
Class template promise |
Partial |
allocator |
#6228 |
30.6.6 |
Class template future |
Partial |
allocator,unique_future is the closest to future, renamed in V3 |
#6228 |
30.6.7 |
Class template shared_future |
Partial |
allocator |
#6228 |
30.6.8 |
Function template async |
No |
async |
#4710 |
30.6.9 |
Class template packaged_task |
Partial |
move |
#yyyy |
Table 28.2. Howard's Shared Locking Proposal Conformace
Section |
Description |
Status |
Comments |
---|---|---|---|
X |
Shared Locking |
Yes |
Needs `BOOST_THREAD_PROVIDES_SHARED_MUTEX_UPWARDS_CONVERSION |
X.1 |
Shared Lockables Concepts |
Yes |
- |
X.1.1 |
SharedLockable concept |
Yes |
- |
X.1.2 |
UpgradeLockable concept |
Yes |
- |
X.2 |
Shared Mutex Types |
Yes |
- |
X.2.1 |
shared_mutex class |
Yes |
- |
X.2.2 |
upgrade_mutex class |
Yes |
- |
X.3 |
Locks |
Yes |
- |
X.3.1 |
unique_lock class adaptations |
Yes |
- |
X.3.2 |
shared_lock class |
Yes |
- |
X.3.3 |
upgrade_lock class |
Yes |
- |