Experimental C++ Features
The C++ standards committee publishes experimental C++ language and library extensions for future standardization.
Note: until 2012, these publications used the TR (technical report) format. Since 2012 ISO procedure changed to use the TS (technical specification) format.
TR/TS specifications
ISO number | Name | Status | Links, headers |
---|---|---|---|
ISO/IEC TR 18015:2006 | Technical Report on C++ Performance |
Published 2006 (
ISO store
).
Draft: TR18015 (2006-02-15). |
|
ISO/IEC TR 19768:2007 | Technical Report on C++ Library Extensions |
Published 2007-11-15 (
ISO store
).
Draft:
N1836
(2005-06-24)
|
|
ISO/IEC 29124:2010 | Extensions to the C++ Library to support mathematical special functions |
Published 2010-09-03 (
ISO Store
).
Final draft:
N3060
(2010-03-06).
|
Special functions |
ISO/IEC TR 24733:2011 | Extensions for the programming language C++ to support decimal floating-point arithmetic |
Published 2011-10-25 (
ISO Store
)
Draft:
N2849
(2009-03-06).
|
|
ISO/IEC TS 18822:2015 | C++ File System Technical Specification |
Published 2015-06-18 (
ISO store
). Final draft:
N4100
(2014-07-04).
|
Filesystem , <filesystem> |
ISO/IEC TS 19570:2015 | C++ Extensions for Parallelism |
Published 2015-06-24. (
ISO Store
). Final draft:
N4507
(2015-05-05).
✔ Merged into C++17. |
Parallelism |
ISO/IEC TS 19841:2015 | Transactional Memory TS | Published 2015-09-16, ( ISO Store ). Final draft: N4514 (2015-05-08). | Transactional memory |
ISO/IEC TS 19568:2015 | C++ Extensions for Library Fundamentals |
Published 2015-09-30, (
ISO Store
). Final draft:
N4480
(2015-04-07).
✔ Merged into C++17 except for invocation traits. |
Library extensions |
ISO/IEC TS 19217:2015 | C++ Extensions for Concepts |
Published 2015-11-13 (
ISO Store
). Final draft:
N4553
(2015-10-02). Current draft:
P0734R0
(2017-07-14).
✔ Merged into C++20 (with modifications). |
Constraints and concepts , <concepts> |
ISO/IEC TS 19571:2016 | C++ Extensions for Concurrency |
Published 2016-01-19 (
ISO Store
). Final draft:
P0159R0
(2015-10-22).
✔ Partially merged into C++20. |
Concurrency |
ISO/IEC TS 19568:2017 | C++ Extensions for Library Fundamentals, Version 2 |
Published 2017-03-30 (
ISO Store
). Draft:
N4617
(2016-11-28).
✔ Partially merged into C++17 and C++20. |
Library extensions 2 |
ISO/IEC TS 21425:2017 | Ranges TS |
Published 2017-12-05 (
ISO Store
). Draft:
N4685
(2017-07-31).
|
Ranges , <ranges> |
ISO/IEC TS 22277:2017 | Coroutines TS |
Published 2017-12-05 (
ISO Store
). Draft:
N4736
(2018-03-31). Latest draft:
N4775
(2018-10-07).
|
<coroutine> |
ISO/IEC TS 19216:2018 | Networking TS | Published 2018-04-24 ( ISO Store ). Draft: N4734 (2017-04-04). Latest draft: N4771 (2018-10-08). | Networking |
ISO/IEC TS 21544:2018 | Modules TS |
Published 2018-05-16 (
ISO Store
). Final Draft:
N4720
(2018-01-29).
|
|
ISO/IEC TS 19570:2018 | Parallelism TS Version 2 |
Published 2018-11-15 (
ISO Store
). Final draft:
N4793
(2018-11-26). Post-publication draft:
N4808
(2019-03-11). See also non-TS
std::simd
proposals
below
.
|
Parallelism 2 |
ISO/IEC TS 23619:2021 | Reflection TS | Published 2021-10-11 ( ISO store ). Draft: N4856 (2020-03-02). See also non-TS proposals below . | Reflection |
Numerics | Early development. Draft: P1889R1 (2019-12-27). | ||
ISO/IEC TS 9922 | Concurrency TS Version 2 | Published 2024-10-09 ( ISO Store ). Draft: N4956 (2023-07-05). | Concurrency 2 |
ISO/IEC TS 19568:2024 | C++ Extensions for Library Fundamentals, Version 3 | Published 2024-08-26 ( ISO Store ). Draft: N4948 (2023-05-08). | Library extensions 3 |
ISO/IEC DTS 12907 | Transactional Memory TS, Version 2 | Early development. Draft: N4923 (2022-10-14). | |
ISO/IEC NP 19569 | Array Extensions TS | × Withdrawn. Abandoned draft: N3820 (2013-10-10). |
Non-TS proposals
Name | Status | Links, Headers | ||
---|---|---|---|---|
Linear Algebra |
✔
Merged into C++26
. Proposal:
P1673R13
(2023-11-10).
|
<linalg> | ||
std::execution |
Forwarded to LWG, wording in progress.
✔ Merged into C++26 . Proposal: P2300R10 (2024-06-28).
|
Execution , <execution> | ||
std::inplace_vector | ✔ Merged into C++26 . Proposal: P0843R14 (2024-06-26). | <inplace_vector> | ||
Pattern Matching |
Early development. Draft
P1371R3
(2020-09-15).
|
|||
Reflection |
The main document (ISO/IEC TS 23619:2021) is described in
Reflection TS
above.
|
Reflection | ||
std::simd
|
The main document (TS ISO/IEC 19570:2018) is described in
"C++ Extensions for Parallelism V2"
above.
|
Data parallel types | ||
Contracts |
Early development. Proposal
P2659R2
(2022-11-30). Draft
P2660R0
(2022-10-14).
|
|||
2D Graphics | Early development. Draft P0267R10 (2019-10-07). | |||
Graph Library | Early development. |
See also
C documentation
for
Experimental C features
|
External links
1. | PL22.16/WG21 document list - All C++ committee documents (TS/proposals) for 2016-2024. |
2. | JTC1/SC22/WG21 Proposals (mailing) for 2024 . |