Technical Specification | ||||
Filesystem library(filesystem TS) | ||||
Library fundamentals(library fundamentals TS) | ||||
Library fundamentals 2(library fundamentals TS v2) | ||||
Library fundamentals 3(library fundamentals TS v3) | ||||
Extensions for parallelism(parallelism TS) | ||||
Extensions for parallelism 2(parallelism TS v2) | ||||
Extensions for concurrency(concurrency TS) | ||||
Extensions for concurrency 2(concurrency TS v2) | ||||
Concepts(concepts TS) | ||||
Ranges(ranges TS) | ||||
Reflection(reflection TS) | ||||
Mathematical special functions(special functions TR) | ||||
Experimental Non-TS | ||||
Pattern Matching | ||||
Linear Algebra | ||||
std::execution | ||||
Contracts | ||||
2D Graphics |
std::future extensions | ||||
Latches and barriers | ||||
Atomic smart pointers | ||||
The C++ Extensions for Concurrency, ISO/IEC TS 19571:2016, defines the following new components for the C++ standard library:
Contents |
Defined in header <experimental/future> | |
(concurrency TS) | a version ofstd::future enhanced with continuations and other features (class template)[edit] |
(concurrency TS) | a version ofstd::shared_future enhanced with continuations and other features (class template)[edit] |
(concurrency TS) | a modified version ofstd::promise that usesstd::experimental::future (class template) |
(concurrency TS) | a modified version ofstd::packaged_task that usesstd::experimental::future (class template) |
(concurrency TS) | produces a future that becomes ready when all given futures orshared_futures are ready(function template)[edit] |
(concurrency TS) | produces a future that becomes ready when at least one of the given futures or shared_futures is ready (function template)[edit] |
(concurrency TS) | produces a future that is ready immediately and holds the given value (function template)[edit] |
(concurrency TS) | produces a future that is ready immediately and holds the given exception (function template)[edit] |
Defined in header <experimental/future> | |
__cpp_lib_experimental_future_continuations | a value of at least201505 indicates that future::then and other extensions are supported (macro constant) |
Defined in header <experimental/latch> | |
__cpp_lib_experimental_latch | a value of at least201505 indicates that the latch type is supported (macro constant) |
Defined in header <experimental/barrier> | |
__cpp_lib_experimental_barrier | a value of at least201505 indicates that barrier type is supported (macro constant) |
Defined in header <experimental/atomic> | |
__cpp_lib_experimental_atomic_smart_pointers | a value of at least201505 indicates that the atomic smart pointers are supported (macro constant) |
The following components of the Concurrency TS have been adopted into the C++20 standard.
Defined in header <experimental/latch> | |
(concurrency TS) | single-use thread barrier (class)[edit] |
Defined in header <experimental/barrier> | |
(concurrency TS) | reusable thread barrier (class)[edit] |
(concurrency TS) | reusable thread barrier with customizable behavior on completion (class)[edit] |
These class templates replace the shared_ptratomic function overloads
Defined in header <experimental/atomic> | |
(concurrency TS) | atomic version of std::shared_ptr (class template)[edit] |
(concurrency TS) | atomic version of std::weak_ptr (class template)[edit] |