Namespaces
Variants
Views
Actions

Experimental C++ Features

From cppreference.com
< cpp
Revision as of 02:30, 3 January 2024 by Space Mission (Talk | contribs)

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.

ISO number Name Status links
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 29124 split off, the rest merged into C++11.

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).
Merged into C++17.

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).
May be superseded by a future TS or merged into a future revision of C++ (most recent merge proposal was N3871).

ISO/IEC TS 18822:2015 C++ File System Technical Specification Published 2015-06-18 (ISO store). Final draft: N4100 (2014-07-04).

Merged into C++17.

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
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).

Merged into C++20.

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).

Merged into C++20.

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).

Merged into C++20.

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).

parallelism 2
ISO/IEC TS 23619:2021 Reflection TS Published 2021-10-11 (ISO store). Draft N4856 (2020-03-02). Alternative draft P1240R2 (2022-01-15). reflection
Numerics Early development. Draft P1889R1 (2019-12-27).
ISO/IEC AWI TS 9922 Concurrency TS Version 2 Early development. Draft N4953 (2023-05-15). concurrency 2
ISO/IEC AWI TS 19568 C++ Extensions for Library Fundamentals, Version 3 Early development. Draft N4948 (2023-05-08). library extensions 3
ISO/IEC DTS 12907 Transactional Memory TS, Version 2 Early development: N4956 (2023-07-05).
Pattern Matching Early development. Draft P1371R3 (2020-09-15).
Linear Algebra Now targeting mainline standard P1673R13 (2023-11-10), P1674R2 (2022-05-15), P1385R7 (2022-10-15).

Merged into C++26 (P1673R12).

std::execution Forwarded to LWG, wording in progress. Proposal P2300R7 (2023-04-21).
Contracts Early development. Proposal P2659R2 (2022-11-30). Draft P2660R0 (2022-10-14).
2D Graphics Early development. Draft P0267R10 (2019-10-07).
ISO/IEC NP 19569 Array Extensions TS × Withdrawn. Abandoned draft: N3820 (2013-10-10).

See also

C documentation for Experimental C features