Difference between revisions of "cpp/experimental"
m |
Andreas Krug (Talk | contribs) m (fmt) |
||
Line 10: | Line 10: | ||
!ISO number||Name||Status||links | !ISO number||Name||Status||links | ||
|- | |- | ||
− | | ISO/IEC TR 18015:2006 | + | |ISO/IEC TR 18015:2006 |
− | | Technical Report on C++ Performance | + | |Technical Report on C++ Performance |
− | | Published 2006 ([https://www.iso.org/standard/43351.html ISO store]). | + | |Published 2006 ([https://www.iso.org/standard/43351.html ISO store]). |
Draft: [https://www.open-std.org/jtc1/sc22/wg21/docs/TR18015.pdf TR18015] (2006-02-15). | Draft: [https://www.open-std.org/jtc1/sc22/wg21/docs/TR18015.pdf TR18015] (2006-02-15). | ||
− | | <!-- {{tt|std::hardware}} --> | + | |<!--{{tt|std::hardware}}--> |
|- | |- | ||
− | | ISO/IEC TR 19768:2007 | + | |ISO/IEC TR 19768:2007 |
− | | Technical Report on C++ Library Extensions | + | |Technical Report on C++ Library Extensions |
− | | Published 2007-11-15 ([https://www.iso.org/standard/43289.html ISO store]). | + | |Published 2007-11-15 ([https://www.iso.org/standard/43289.html ISO store]). |
Draft: {{stddoc|n1836}} (2005-06-24)<br> | Draft: {{stddoc|n1836}} (2005-06-24)<br> | ||
ISO 29124 split off, the rest merged into C++11. | ISO 29124 split off, the rest merged into C++11. | ||
| | | | ||
|- | |- | ||
− | | ISO/IEC 29124:2010 | + | |ISO/IEC 29124:2010 |
− | | Extensions to the C++ Library to support mathematical special functions | + | |Extensions to the C++ Library to support mathematical special functions |
− | | Published 2010-09-03 ([https://www.iso.org/standard/50511.html ISO Store]). | + | |Published 2010-09-03 ([https://www.iso.org/standard/50511.html ISO Store]). |
Final draft: {{stddoc|n3060}} (2010-03-06).<br> | Final draft: {{stddoc|n3060}} (2010-03-06).<br> | ||
{{mark_ok}}[[cpp/numeric/special_functions|Merged into C++17]]. | {{mark_ok}}[[cpp/numeric/special_functions|Merged into C++17]]. | ||
− | | {{rl|special functions}} | + | |{{rl|special functions}} |
|- | |- | ||
− | | ISO/IEC TR 24733:2011 | + | |ISO/IEC TR 24733:2011 |
− | | Extensions for the programming language C++ to support decimal floating-point arithmetic | + | |Extensions for the programming language C++ to support decimal floating-point arithmetic |
− | | Published 2011-10-25 ([https://www.iso.org/standard/38843.html ISO Store]) | + | |Published 2011-10-25 ([https://www.iso.org/standard/38843.html ISO Store]) |
Draft: {{stddoc|n2849}} (2009-03-06).<br> | Draft: {{stddoc|n2849}} (2009-03-06).<br> | ||
May be superseded by a future TS or merged into a future revision of C++ (most recent merge proposal was {{stddoc|n3871}}). | May be superseded by a future TS or merged into a future revision of C++ (most recent merge proposal was {{stddoc|n3871}}). | ||
− | | <!-- {{tt|decimal32}}<br>{{tt|decimal64}}<br>{{tt|decimal128}} --> | + | |<!--{{tt|decimal32}}<br>{{tt|decimal64}}<br>{{tt|decimal128}}--> |
|- | |- | ||
− | | ISO/IEC TS 18822:2015 | + | |ISO/IEC TS 18822:2015 |
− | | C++ File System Technical Specification | + | |C++ File System Technical Specification |
− | | Published 2015-06-18 ([https://www.iso.org/standard/63483.html ISO store]). Final draft: {{stddoc|n4100}} (2014-07-04).<br> | + | |Published 2015-06-18 ([https://www.iso.org/standard/63483.html ISO store]). Final draft: {{stddoc|n4100}} (2014-07-04).<br> |
{{mark_ok}}[[cpp/filesystem|Merged into C++17]]. | {{mark_ok}}[[cpp/filesystem|Merged into C++17]]. | ||
− | | {{rl|fs|filesystem}} | + | |{{rl|fs|filesystem}} |
|- | |- | ||
− | | ISO/IEC TS 19570:2015 | + | |ISO/IEC TS 19570:2015 |
− | | C++ Extensions for Parallelism | + | |C++ Extensions for Parallelism |
− | | Published 2015-06-24. ([https://www.iso.org/standard/65241.html ISO Store]). Final draft: {{stddoc|n4507}} (2015-05-05).<br> | + | |Published 2015-06-24. ([https://www.iso.org/standard/65241.html ISO Store]). Final draft: {{stddoc|n4507}} (2015-05-05).<br> |
{{mark_ok}}Merged into C++17. | {{mark_ok}}Merged into C++17. | ||
− | | {{rl|parallelism}} | + | |{{rl|parallelism}} |
|- | |- | ||
− | | ISO/IEC TS 19841:2015 | + | |ISO/IEC TS 19841:2015 |
− | | Transactional Memory TS | + | |Transactional Memory TS |
− | | Published 2015-09-16, ([https://www.iso.org/standard/66343.html ISO Store]). Final draft: {{stddoc|n4514}} (2015-05-08). | + | |Published 2015-09-16, ([https://www.iso.org/standard/66343.html ISO Store]). Final draft: {{stddoc|n4514}} (2015-05-08). |
− | | [[cpp/language/transactional_memory|transactional memory]] | + | |[[cpp/language/transactional_memory|transactional memory]] |
|- | |- | ||
− | | ISO/IEC TS 19568:2015 | + | |ISO/IEC TS 19568:2015 |
− | | C++ Extensions for Library Fundamentals | + | |C++ Extensions for Library Fundamentals |
− | | Published 2015-09-30, ([https://www.iso.org/standard/65238.html ISO Store]). Final draft: {{stddoc|n4480}} (2015-04-07).<br> | + | |Published 2015-09-30, ([https://www.iso.org/standard/65238.html ISO Store]). Final draft: {{stddoc|n4480}} (2015-04-07).<br> |
{{mark_ok}}Merged into C++17 except for invocation traits. | {{mark_ok}}Merged into C++17 except for invocation traits. | ||
|{{rl|lib_extensions|library extensions}} | |{{rl|lib_extensions|library extensions}} | ||
|- | |- | ||
− | | ISO/IEC TS 19217:2015 | + | |ISO/IEC TS 19217:2015 |
− | | C++ Extensions for Concepts | + | |C++ Extensions for Concepts |
− | | Published 2015-11-13 ([https://www.iso.org/standard/64031.html ISO Store]). Final draft: {{stddoc|n4553}} (2015-10-02). Current draft: {{stddoc|p0734r0}} (2017-07-14).<br> | + | |Published 2015-11-13 ([https://www.iso.org/standard/64031.html ISO Store]). Final draft: {{stddoc|n4553}} (2015-10-02). Current draft: {{stddoc|p0734r0}} (2017-07-14).<br> |
{{mark_ok}}[[cpp/language/constraints|Merged into C++20]] (with modifications). | {{mark_ok}}[[cpp/language/constraints|Merged into C++20]] (with modifications). | ||
|{{rl|constraints|constraints and concepts}} | |{{rl|constraints|constraints and concepts}} | ||
|- | |- | ||
− | | ISO/IEC TS 19571:2016 | + | |ISO/IEC TS 19571:2016 |
− | | C++ Extensions for Concurrency | + | |C++ Extensions for Concurrency |
− | | Published 2016-01-19 ([https://www.iso.org/standard/65242.html ISO Store]). Final draft: {{stddoc|p0159r0}} (2015-10-22).<br> | + | |Published 2016-01-19 ([https://www.iso.org/standard/65242.html ISO Store]). Final draft: {{stddoc|p0159r0}} (2015-10-22).<br> |
{{mark_ok}}Partially merged into C++20. | {{mark_ok}}Partially merged into C++20. | ||
− | | {{rl|concurrency}} | + | |{{rl|concurrency}} |
|- | |- | ||
− | | ISO/IEC TS 19568:2017 | + | |ISO/IEC TS 19568:2017 |
− | | C++ Extensions for Library Fundamentals, Version 2 | + | |C++ Extensions for Library Fundamentals, Version 2 |
− | | Published 2017-03-30 ([https://www.iso.org/standard/70587.html ISO Store]). Draft: {{stddoc|n4617}} (2016-11-28).<br> | + | |Published 2017-03-30 ([https://www.iso.org/standard/70587.html ISO Store]). Draft: {{stddoc|n4617}} (2016-11-28).<br> |
{{mark_ok}}Partially merged into C++17 and C++20. | {{mark_ok}}Partially merged into C++17 and C++20. | ||
− | | {{rl|lib_extensions_2|library extensions 2}} | + | |{{rl|lib_extensions_2|library extensions 2}} |
|- | |- | ||
− | | ISO/IEC TS 21425:2017 | + | |ISO/IEC TS 21425:2017 |
− | | Ranges TS | + | |Ranges TS |
− | | Published 2017-12-05 ([https://www.iso.org/standard/70910.html ISO Store]). Draft: {{stddoc|n4685}} (2017-07-31).<br> | + | |Published 2017-12-05 ([https://www.iso.org/standard/70910.html ISO Store]). Draft: {{stddoc|n4685}} (2017-07-31).<br> |
{{mark_ok}}[[cpp/ranges|Merged into C++20]]. | {{mark_ok}}[[cpp/ranges|Merged into C++20]]. | ||
− | | {{rl|ranges}} | + | |{{rl|ranges}} |
|- | |- | ||
− | | ISO/IEC TS 22277:2017 | + | |ISO/IEC TS 22277:2017 |
− | | Coroutines TS | + | |Coroutines TS |
− | | Published 2017-12-05 ([https://www.iso.org/standard/73008.html ISO Store]). Draft {{stddoc|n4736}} (2018-03-31). Latest draft: {{stddoc|n4775}} (2018-10-07).<br> | + | |Published 2017-12-05 ([https://www.iso.org/standard/73008.html ISO Store]). Draft {{stddoc|n4736}} (2018-03-31). Latest draft: {{stddoc|n4775}} (2018-10-07).<br> |
{{mark_ok}}[[cpp/coroutine|Merged into C++20]]. | {{mark_ok}}[[cpp/coroutine|Merged into C++20]]. | ||
| | | | ||
|- | |- | ||
− | | ISO/IEC TS 19216:2018 | + | |ISO/IEC TS 19216:2018 |
− | | Networking TS | + | |Networking TS |
− | | Published 2018-04-24 ([https://www.iso.org/standard/64030.html ISO Store]). Draft {{stddoc|n4734}} (2017-04-04). Latest draft: {{stddoc|n4771}} (2018-10-08). | + | |Published 2018-04-24 ([https://www.iso.org/standard/64030.html ISO Store]). Draft {{stddoc|n4734}} (2017-04-04). Latest draft: {{stddoc|n4771}} (2018-10-08). |
− | | {{rl|networking}} | + | |{{rl|networking}} |
|- | |- | ||
− | | ISO/IEC TS 21544:2018 | + | |ISO/IEC TS 21544:2018 |
− | | Modules TS | + | |Modules TS |
− | | Published 2018-05-16 ([https://www.iso.org/standard/71051.html ISO Store]). Final Draft {{stddoc|n4720}} (2018-01-29).<br> | + | |Published 2018-05-16 ([https://www.iso.org/standard/71051.html ISO Store]). Final Draft {{stddoc|n4720}} (2018-01-29).<br> |
{{mark_ok}}[[cpp/language/modules|Merged into C++20]]. | {{mark_ok}}[[cpp/language/modules|Merged into C++20]]. | ||
| | | | ||
|- | |- | ||
− | | ISO/IEC TS 19570:2018 | + | |ISO/IEC TS 19570:2018 |
− | | Parallelism TS Version 2 | + | |Parallelism TS Version 2 |
− | | Published 2018-11-15 ([https://www.iso.org/standard/70588.html ISO Store]). Final draft: {{stddoc|n4793}} (2018-11-26). | + | |Published 2018-11-15 ([https://www.iso.org/standard/70588.html ISO Store]). Final draft: {{stddoc|n4793}} (2018-11-26). |
Post-publication draft: {{stddoc|n4808}} (2019-03-11). | Post-publication draft: {{stddoc|n4808}} (2019-03-11). | ||
− | | {{rl|parallelism 2}} | + | |{{rl|parallelism 2}} |
|- | |- | ||
− | | ISO/IEC TS 23619:2021 | + | |ISO/IEC TS 23619:2021 |
− | | Reflection TS | + | |Reflection TS |
− | | Published 2021-10-11 ([https://www.iso.org/standard/76425.html ISO store]). Draft {{stddoc|n4856}} (2020-03-02). Alternative draft {{stddoc|p1240r2}} (2022-01-15). | + | |Published 2021-10-11 ([https://www.iso.org/standard/76425.html ISO store]). Draft {{stddoc|n4856}} (2020-03-02). Alternative draft {{stddoc|p1240r2}} (2022-01-15). |
|{{rl|reflect|reflection}} | |{{rl|reflect|reflection}} | ||
|- | |- | ||
| | | | ||
− | | Numerics | + | |Numerics |
− | | Early development. Draft {{stddoc|p1889r1}} (2019-12-27). | + | |Early development. Draft {{stddoc|p1889r1}} (2019-12-27). |
| | | | ||
|- | |- | ||
− | | ISO/IEC AWI TS 9922 | + | |ISO/IEC AWI TS 9922 |
− | | Concurrency TS Version 2 | + | |Concurrency TS Version 2 |
− | | Early development. Draft {{stddoc|n4953}} (2023-05-15). | + | |Early development. Draft {{stddoc|n4953}} (2023-05-15). |
− | | {{rl|concurrency 2}} | + | |{{rl|concurrency 2}} |
|- | |- | ||
− | | ISO/IEC AWI TS 19568 | + | |ISO/IEC AWI TS 19568 |
− | | C++ Extensions for Library Fundamentals, Version 3 | + | |C++ Extensions for Library Fundamentals, Version 3 |
− | | Early development. Draft {{stddoc|n4948}} (2023-05-08). | + | |Early development. Draft {{stddoc|n4948}} (2023-05-08). |
− | | {{rl|lib_extensions_3|library extensions 3}} | + | |{{rl|lib_extensions_3|library extensions 3}} |
|- | |- | ||
− | | ISO/IEC DTS 12907 | + | |ISO/IEC DTS 12907 |
− | | Transactional Memory TS, Version 2 | + | |Transactional Memory TS, Version 2 |
− | | Early development: {{stddoc|n4956}} (2023-07-05). | + | |Early development: {{stddoc|n4956}} (2023-07-05). |
| | | | ||
|- | |- | ||
| | | | ||
− | | Pattern Matching | + | |Pattern Matching |
− | | Early development. Draft {{stddoc|p1371r3}} (2020-09-15). | + | |Early development. Draft {{stddoc|p1371r3}} (2020-09-15). |
| | | | ||
|- | |- | ||
| | | | ||
− | | Linear Algebra | + | |Linear Algebra |
− | | Early development; now targeting mainline standard {{stddoc|p1673r12}} (2023-03-14), {{stddoc|p1674r2}} (2022-05-15), {{stddoc|p1385r7}} (2022-10-15).<br> | + | |Early development; now targeting mainline standard {{stddoc|p1673r12}} (2023-03-14), {{stddoc|p1674r2}} (2022-05-15), {{stddoc|p1385r7}} (2022-10-15).<br> |
{{mark_ok}}[[cpp/header/linalg|Merged into C++26]] ({{stddoc|p1673r12}}). | {{mark_ok}}[[cpp/header/linalg|Merged into C++26]] ({{stddoc|p1673r12}}). | ||
| | | | ||
|- | |- | ||
| | | | ||
− | | Contracts | + | |Contracts |
− | | Early development. Proposal {{stddoc|p2659r2}} (2022-11-30). Draft {{stddoc|p2660r0}} (2022-10-14). | + | |Early development. Proposal {{stddoc|p2659r2}} (2022-11-30). Draft {{stddoc|p2660r0}} (2022-10-14). |
| | | | ||
|- | |- | ||
| | | | ||
− | | 2D Graphics | + | |2D Graphics |
− | | Early development. Draft {{stddoc|p0267r10}} (2019-10-07). | + | |Early development. Draft {{stddoc|p0267r10}} (2019-10-07). |
| | | | ||
|- | |- | ||
− | | ISO/IEC NP 19569 | + | |ISO/IEC NP 19569 |
− | | Array Extensions TS | + | |Array Extensions TS |
− | | {{mark_cancel}} Withdrawn. Abandoned draft: {{stddoc|n3820}} (2013-10-10). | + | |{{mark_cancel}} Withdrawn. Abandoned draft: {{stddoc|n3820}} (2013-10-10). |
| | | | ||
|} | |} | ||
Line 161: | Line 161: | ||
===See also=== | ===See also=== | ||
{{dsc begin}} | {{dsc begin}} | ||
− | {{dsc see c | c/experimental | Experimental C features | nomono=true}} | + | {{dsc see c|c/experimental|Experimental C features|nomono=true}} |
{{dsc end}} | {{dsc end}} | ||
{{langlinks|de|es|ja|ru|zh}} | {{langlinks|de|es|ja|ru|zh}} |
Revision as of 00:23, 25 November 2023
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/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 |
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). |
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). |
|
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). |
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 | Early development; now targeting mainline standard P1673R12 (2023-03-14), P1674R2 (2022-05-15), P1385R7 (2022-10-15). |
||
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
|