|  | Home | Libraries | People | FAQ | More | 
]
Table 40.2. C++11 standard Conformance
| Section | Description | Status | Comments | Ticket | 
|---|---|---|---|---|
| 30 | Thread support library | Yes | - | - | 
| 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 | Yes | - | - | 
| 30.3.1 | Class thread | Yes | - | - | 
| 30.3.1.1 | Class thread::id | Yes | - | - | 
| 30.3.1.2 | thread constructors | Partial | - | - | 
| 30.3.1.3 | thread destructor | Yes | - | - | 
| 30.3.1.4 | thread assignment | Yes | - | - | 
| 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 | Yes | - | - | 
| 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 | Yes | - | - | 
| 30.4.4.1 | Struct once_flag | Yes | - | - | 
| 30.4.4.2 | Function call_once | Yes | - | - | 
| 30.5 | Condition variables | Yes | - | - | 
| 30.5.1 | Class condition_variable | Yes | - | - | 
| 30.5.2 | Class condition_variable_any | Yes | - | - | 
| 30.6 | Futures | Yes | - | - | 
| 30.6.1 | Overview | Partial | - | - | 
| 30.6.2 | Error handling | Yes | - | - | 
| 30.6.3 | Class future_error | - | - | - | 
| 30.6.4 | Shared state | - | - | - | 
| 30.6.5 | Class template promise | Yes | - | - | 
| 30.6.6 | Class template future | Yes | - | - | 
| 30.6.7 | Class template shared_future | Yes | - | - | 
| 30.6.8 | Function template async | Yes | - | - | 
| 30.6.9 | Class template packaged_task | Yes | - | - | 
Table 40.3. Extension
| Section | Description | Comments | 
|---|---|---|
| 30.3.1.5.x | interrupt | - | 
| 30.3.2.x | Interruption | - | 
| 30.3.2.y | at_thread_exit | - | 
| 30.4.3.x | Generic locking algorithms begin/end | - | 
Table 40.4. [@http://isocpp.org/files/papers/N3659.html N3659 Shared locking in C++ revision 2] Conformance
| Section | Description | Status | Comments | 
|---|---|---|---|
| 30.4.1.4 | Shared Lockables Types | Yes | - | 
| 30.4.1.4.1 | shared_mutex class | Yes | - | 
| 30.4.2.3 | Class template shared_lock | Yes | - | 
Table 40.5. Improvements to std::future<T> and related APIs]
| Section | Description | Status | Comments | 
|---|---|---|---|
| 2.1 | - | - | - | 
| 2.2 | Class template future | Partial | - | 
| 2.2 | then | Partial | without implicit unwrapping #10550 and blocking #10551 | 
| 2.2 | is_ready | Yes | - | 
| 2.3 | Class template shared_future | Partial | - | 
| 2.3 | then | Partial | Without implicit unwrapping #10550 and blocking #10551 | 
| 2.3 | is_ready | Yes | - | 
| 2.4 | Function template when_all | Partial | interface not complete #10426 and blocking #10551 | 
| 2.5 | Function template when_any | Partial | interface not complete #10427 and blocking #10551 | 
| 2.6 | Function template when_any_back | No | #XXXX | 
| 2.7 | Function template make_ready_future | Yes | - | 
Table 40.6. C++ Latches and Barriers Conformance
| Section | Description | Status | Comments | 
|---|---|---|---|
| X.1 | Class latch | Partial | A new class latch has been added. The interface is a super set of the one of the proposal, taking some of the functions of the class barrier. | 
| X.2 | Class barrier | No | Even if Boost.Thread has a class boost:barrier it doesn't provides the same kind of services. There is an experimental completion_latch that could be used instead. | 
Table 40.7. C++ Concurrent Queues Conformance
| Section | Description | Status | Comments | 
|---|---|---|---|
| X.1 | Conceptual interface | Partial | The interface provided has some differences respect to this proposal. All the functions having a queue_op_status are not provided. No lock-free concrete classes | 
| X.1.1 | Basic Operations | Partial | - | 
| X.1.1.1 | push | yes | renamed push_back. | 
| X.1.1.2 | value_pop | no | renamed pull_front with two flavors. | 
| X.1.2 | Non-waiting operations | - | - | 
| X.1.2.1 | try_push | yes | renamed try_push_back | 
| X.1.2.2 | try_pop | yes | renamed try_pull_back | 
| X.1.3 | Non-blocking operations | - | - | 
| X.1.3.1 | nonblocking_push | Yes | renamed nonblocking_push_back | 
| X.1.3.2 | nonblocking_pop | Yes | renamed nonblocking_pull_front | 
| X.1.4 | Push-front operations | No | - | 
| X.1.5 | Closed queues | Partial | - | 
| X.1.5.1 | close | Yes | - | 
| X.1.5.2 | is_closed | Yes | renamed closed | 
| X.1.5.3 | wait_push | Yes | renamed wait_push_back | 
| X.1.5.4 | wait_pop | Yes | renamed wait_pull_front | 
| X.1.5.5 | wait_push_front | no | - | 
| X.1.5.6 | wait_pop_back | no | - | 
| X.1.5.6 | open | no | - | 
| X.1.6 | Empty and Full Queues | Yes | - | 
| X.1.6.1 | is_empty | Yes | - | 
| X.1.6.2 | is_full | Yes | Added capacity | 
| X.1.7 | Queue Names | No | Not considered a must for the time been. | 
| X.1.8 | Element Type Requirements | Yes? | - | 
| X.1.9 | Exception Handling | Yes? | - | 
| X.1.10 | Queue Ordering | Yes? | - | 
| X.1.11 | Lock-Free Implementations | No | waiting to stabilize the lock-based interface. Will use Boost.LockFree once it is Boost.Move aware. | 
| X.2 | Concrete queues | Partial | - | 
| X.2.1 | Locking Buffer Queue | Partial | classes sync_queue and a sync_bounded_queue. | 
| X.2.1 | Lock-Free Buffer Queue | No | waiting to stabilize the lock-based interface. Will use Boost.LockFree once it is Boost.Move aware. | 
| X.3 | Additional Conceptual Tools | No | - | 
| X.3.1 | Fronts and Backs | No | - | 
| X.3.2 | Streaming Iterators | No | - | 
| X.3.3 | Storage Iterators | No | - | 
| X.3.4 | Binary Interfaces | No | - | 
| X.3.4 | Managed Indirection | No | - | 
Table 40.8. Executors and Schedulers
| Section | Description | Status | Comments | 
|---|---|---|---|
| V.1.1 | 
                    Class  | Yes | - | 
| V.1.1 | 
                     | Yes | 
                    renamed with a function template  | 
| V.1.1 | 
                     | No | |
| V.1.2 | Class sceduled_executor | No | - | 
| V.1.2 | 
                     | No | 
                    renamed with a function template  | 
| V.1.2 | 
                     | No | 
                    renamed with a function template  | 
| V.2 | Concrete executor classes | No | - | 
| V.2.1 | 
                     | Yes | 
                    static version  | 
| V.2.2 | 
                     | yes | - | 
| V.2.3 | 
                     | Yes | 
                    static version loop_scheduler, dynamic one  | 
| V.2.4 | 
                     | Yes | 
                    static version  | 
| V.2.5 | 
                     | Yes | 
                    static version  | 
Table 40.9. `async, future/shared_future::then`and Executors
| Section | Description | Status | Comments | 
|---|---|---|---|
| 30.6.6 | 
                     | Yes | |
| 30.6.7 | 
                     | Yes | |
| 30.6.8 | 
                     | Yes | - | 
Table 40.10. Executors and Schedulers - revision 4
| Section | Description | Status | Comments | ||
|---|---|---|---|---|---|
| VI.A | Executor Concept | Yes | 
                     | Yes | 
                    renamed  | 
| VI.A.2 | 
                     | Yes | 
                    renamed  | ||
| VI.A.3 | 
                     | No | - | ||
| VI.A.4 | 
                     | Yes | - | ||
| VI.A.5 | 
                     | yes | - | ||
| VI.B | 
                     | yes | - | ||
| VI.C | 
                     | yes | 
                    renamed  | ||
| VI.D | Free Functions and Helper Objects | partial | - | ||
| VI.D | 
                     | No | - | ||
| VI.D | 
                     | No | 
                     | ||
| VI.D | 
                     | No | - | ||
| VI.D | 
                     | No | 
                    renamed  | ||
| VI.D | 
                     | No | 
                    renamed  | ||
| VI.D | 
                     | Partial | 
                    renamed  |