Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/experimental"

From cppreference.com
< cpp
m (+more non-TS proposals on Reflection.)
m (Shorter relative links with {{rl}}. Capitalized rightmost columns.)
Line 9: Line 9:
 
{|table class=wikitable
 
{|table class=wikitable
 
|-
 
|-
!ISO number||Name||Status||links
+
!ISO number||Name||Status||Links
 
|-
 
|-
 
|ISO/IEC TR 18015:2006
 
|ISO/IEC TR 18015:2006
Line 29: Line 29:
 
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|Special functions}}
 
|-
 
|-
 
|ISO/IEC TR 24733:2011
 
|ISO/IEC TR 24733:2011
Line 42: Line 42:
 
|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
Line 48: Line 48:
 
|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|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
Line 59: Line 59:
 
|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
Line 65: Line 65:
 
|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
Line 71: Line 71:
 
|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|Concurrency}}
 
|-
 
|-
 
|ISO/IEC TS 19568:2017
 
|ISO/IEC TS 19568:2017
Line 77: Line 77:
 
|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
Line 83: Line 83:
 
|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|Ranges}}
 
|-
 
|-
 
|ISO/IEC TS 22277:2017
 
|ISO/IEC TS 22277:2017
Line 94: Line 94:
 
|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|Networking}}
 
|-
 
|-
 
|ISO/IEC TS 21544:2018
 
|ISO/IEC TS 21544:2018
Line 106: Line 106:
 
|Published 2018-11-15 ([https://www.iso.org/standard/70588.html ISO Store]). Final draft: {{stddoc|n4793}} (2018-11-26). See also non-TS {{tt|std::simd}} proposals [[#SIMD proposals|below]].
 
|Published 2018-11-15 ([https://www.iso.org/standard/70588.html ISO Store]). Final draft: {{stddoc|n4793}} (2018-11-26). See also non-TS {{tt|std::simd}} proposals [[#SIMD proposals|below]].
 
Post-publication draft: {{stddoc|n4808}} (2019-03-11).
 
Post-publication draft: {{stddoc|n4808}} (2019-03-11).
|{{rl|parallelism 2}}
+
|{{rl|parallelism 2|Parallelism 2}}
 
|-id="Reflection TS"
 
|-id="Reflection TS"
 
|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). See also non-TS proposals [[#Reflection proposals|below]].
 
|Published 2021-10-11 ([https://www.iso.org/standard/76425.html ISO store]). Draft {{stddoc|n4856}} (2020-03-02). See also non-TS proposals [[#Reflection proposals|below]].
|{{rl|reflect|reflection}}
+
|{{rl|reflect|Reflection}}
 
|-
 
|-
 
|
 
|
Line 121: Line 121:
 
|Concurrency TS Version 2
 
|Concurrency TS Version 2
 
|Early development: {{stddoc|n4956}} (2023-07-05).
 
|Early development: {{stddoc|n4956}} (2023-07-05).
|{{rl|concurrency 2}}
+
|{{rl|concurrency 2|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
Line 142: Line 142:
 
{|table class=wikitable
 
{|table class=wikitable
 
|-
 
|-
!Name||Status||links
+
!Name||Status||Links
 
|-
 
|-
 
|Linear Algebra
 
|Linear Algebra
Line 160: Line 160:
 
* Improving diagnostics for Sender expressions - {{stddoc|P3164R0}} (2024-03-01).
 
* Improving diagnostics for Sender expressions - {{stddoc|P3164R0}} (2024-03-01).
 
* Reconsidering the {{c|std::execution::on}} algorithm - {{stddoc|P3175R0}} (2024-03-14).
 
* Reconsidering the {{c|std::execution::on}} algorithm - {{stddoc|P3175R0}} (2024-03-14).
|{{rl|execution| execution}}
+
|{{rl|execution|Execution}}
 
|-
 
|-
 
|Pattern Matching
 
|Pattern Matching
Line 180: Line 180:
 
* Function Parameter Reflection in Reflection for C++26 - {{stddoc|P3096R0}} (2024-02-14)
 
* Function Parameter Reflection in Reflection for C++26 - {{stddoc|P3096R0}} (2024-02-14)
 
* Generative Extensions for Reflection - {{stddoc|P3157R0}} (2024-02-15)
 
* Generative Extensions for Reflection - {{stddoc|P3157R0}} (2024-02-15)
|
+
| {{rl|reflect|Reflection}}
 
|-id="SIMD proposals"
 
|-id="SIMD proposals"
|{{ltt|cpp/experimental/simd|std::simd}}
+
|{{rlt|simd|std::simd}}
 
|The main document (TS ISO/IEC 19570:2018) is described in [[#Parallelism TS Version 2|"C++ Extensions for Parallelism V2"]] above. See also:
 
|The main document (TS ISO/IEC 19570:2018) is described in [[#Parallelism TS Version 2|"C++ Extensions for Parallelism V2"]] above. See also:
 
* Expected Feedback from SIMD in Parallelism TS2 - {{stddoc|P1915R0}} (2019-10-07),
 
* Expected Feedback from SIMD in Parallelism TS2 - {{stddoc|P1915R0}} (2019-10-07),
* {{ltt|cpp/experimental/simd|std::simd}} - Merge data-parallel types from the Parallelism TS 2 - {{stddoc|P1928R8}} (2023-11-09),
+
* {{rlt|simd|std::simd}} - Merge data-parallel types from the Parallelism TS 2 - {{stddoc|P1928R8}} (2023-11-09),
* Intel's response to {{ltt|cpp/experimental/simd|std::simd}} - {{stddoc|P2638R0}} (2022-09-22),
+
* Intel's response to {{rlt|simd|std::simd}} - {{stddoc|P2638R0}} (2022-09-22),
* Proposal to support interleaved complex values in {{ltt|cpp/experimental/simd|std::simd}} - {{stddoc|P2663R5}} (2023-12-08),
+
* Proposal to support interleaved complex values in {{rlt|simd|std::simd}} - {{stddoc|P2663R5}} (2023-12-08),
* Proposal to extend {{ltt|cpp/experimental/simd|std::simd}} with permutation API - {{stddoc|P2664R6}} (2024-01-16),
+
* Proposal to extend {{rlt|simd|std::simd}} with permutation API - {{stddoc|P2664R6}} (2024-01-16),
* {{ltt|cpp/experimental/simd|std::simd}} Intro slides - {{stddoc|P2803R0}} (2023-02-09),
+
* {{rlt|simd|std::simd}} Intro slides - {{stddoc|P2803R0}} (2023-02-09),
* Issaquah Slides for Intel response to {{ltt|cpp/experimental/simd|std::simd}} - {{stddoc|P2807R0}} (2023-02-10),
+
* Issaquah Slides for Intel response to {{rlt|simd|std::simd}} - {{stddoc|P2807R0}} (2023-02-10),
* Proposal to extend {{ltt|cpp/experimental/simd|std::simd}} with more constructors and accessors - {{stddoc|P2876R0}} (2023-05-18),
+
* Proposal to extend {{rlt|simd|std::simd}} with more constructors and accessors - {{stddoc|P2876R0}} (2023-05-18),
* Algorithm-like vs {{ltt|cpp/experimental/simd|std::simd}} based RNG API - {{stddoc|P2880R0}} (2023-05-18),
+
* Algorithm-like vs {{rlt|simd|std::simd}} based RNG API - {{stddoc|P2880R0}} (2023-05-18),
* {{ltt|cpp/experimental/simd|std::simd}} types should be regular - {{stddoc|P2892R0}} (2023-05-19),
+
* {{rlt|simd|std::simd}} types should be regular - {{stddoc|P2892R0}} (2023-05-19),
* {{ltt|cpp/experimental/simd|std::simd}} types should be regular - {{stddoc|P2892R0}} LEWG presentation - {{stddoc|P2926R0}} (2023-06-19),
+
* {{rlt|simd|std::simd}} types should be regular - {{stddoc|P2892R0}} LEWG presentation - {{stddoc|P2926R0}} (2023-06-19),
 
* {{tt|simd_invoke}} - {{stddoc|P2929R0}} (2023-07-19),
 
* {{tt|simd_invoke}} - {{stddoc|P2929R0}} (2023-07-19),
* {{ltt|cpp/experimental/simd|std::simd}} overloads for {{header|bit}} - {{stddoc|P2933R1}} (2023-12-08),
+
* {{rlt|simd|std::simd}} overloads for {{header|bit}} - {{stddoc|P2933R1}} (2023-12-08),
* Add saturating library support to {{ltt|cpp/experimental/simd|std::simd}} - {{stddoc|P2956R0}} (2023-08-01),
+
* Add saturating library support to {{rlt|simd|std::simd}} - {{stddoc|P2956R0}} (2023-08-01),
* Allowing user-defined types in {{ltt|cpp/experimental/simd|std::simd}} - {{stddoc|P2964R0}} (2024-02-09),
+
* Allowing user-defined types in {{rlt|simd|std::simd}} - {{stddoc|P2964R0}} (2024-02-09),
* Interface Directions for {{ltt|cpp/experimental/simd|std::simd}} - {{stddoc|P3024R0}} (2023-11-30).
+
* Interface Directions for {{rlt|simd|std::simd}} - {{stddoc|P3024R0}} (2023-11-30).
|[[cpp/experimental/parallelism 2|Data parallel types]]
+
|{{rl|parallelism 2|Data parallel types}}
 
|-
 
|-
 
|Contracts
 
|Contracts

Revision as of 00:44, 22 May 2024

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
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). See also non-TS std::simd proposals below.

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). See also non-TS proposals below. Reflection
Numerics Early development. Draft P1889R1 (2019-12-27).
ISO/IEC AWI TS 9922 Concurrency TS Version 2 Early development: N4956 (2023-07-05). 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: N4923 (2022-10-14).
ISO/IEC NP 19569 Array Extensions TS × Withdrawn. Abandoned draft: N3820 (2013-10-10).

Non-TS proposals

Name Status Links
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 P2300R9 (2024-04-02). See also:
  • System execution context - P2079R3 (2022-07-15),
  • Sender-Receiver Interface for Networking - P2762R2 (2023-10-12),
  • Member customization points for Senders and Receivers - P2855R1 (2024-02-22),
  • An Event Model for C++ Executors - P2882R0 (2023-05-11),
  • Sender Algorithm Customization - P2999R3 (2023-12-13),
  • std::execution introduction - P3090R0 (2024-02-14),
  • A plan for std::execution for C++26 - P3109R0 (2024-02-12),
  • Improving diagnostics for Sender expressions - P3164R0 (2024-03-01).
  • Reconsidering the std::execution::on algorithm - P3175R0 (2024-03-14).
Execution
Pattern Matching Early development. Draft P1371R3 (2020-09-15). See also:
  • Pattern Matching using is and as - P2392R2 (2022-09-24),
  • Pattern Matching: match expression - P2688R1 (2024-02-15),
  • switch for Pattern Matching - P2940R0 (2022-04-18),
  • Identifiers for Pattern Matching - P2941R0 (2022-02-24),
  • A Postcondition is a Pattern Match - P3210R0 (2024-03-28)
Reflection The main document (ISO/IEC TS 23619:2021) is described in Reflection TS above. See also:
  • Scalable Reflection in C++ - P1240R2 (2022-01-14)
  • Python Bindings with Value-Based Reflection - P2911R1 (2023-10-13)
  • Reflection for C++26 - P2996R2 (2024-02-15)
  • Using Reflection to Replace a Metalanguage for Generating JS Bindings - P3010R0 (2023-10-13)
  • ABI comparison with reflection - P3095R0 (2024-02-15)
  • Function Parameter Reflection in Reflection for C++26 - P3096R0 (2024-02-14)
  • Generative Extensions for Reflection - P3157R0 (2024-02-15)
Reflection
std::simd The main document (TS ISO/IEC 19570:2018) is described in "C++ Extensions for Parallelism V2" above. See also: Data parallel types
Contracts Early development. Proposal P2659R2 (2022-11-30). Draft P2660R0 (2022-10-14). See also:
  • A Proposal to Publish a Technical Specification for Contracts - P2659R2 (2022-12-05),
  • Miscellaneous amendments to the Contracts TS - P2661R0 (2022-10-15),
  • Contracts for C++: Prioritizing Safety - P2680R1 (2022-12-15),
  • A proposed plan for contracts in C++ - P2695R1 (2023-02-09),
  • Proposal of Condition-centric Contracts Syntax - P2737R0 (2022-12-30),
  • Contracts for C++: Prioritizing Safety - Presentation slides - P2743R0 (2022-12-13),
  • Evaluation of Checked Contracts - P2751R1 (2023-02-14),
  • A Bold Plan for a Complete Contracts Facility - P2755R1 (2024-04-11),
  • The idea behind the contracts MVP - P2817R0 (2023-03-05),
  • Proposal of Contracts Supporting Const-On-Definition Style - P2829R0 (2023-04-13),
  • Contract violation handling semantics for the contracts MVP - P2852R0 (2023-04-24),
  • The Lakos Rule: Narrow Contracts and noexcept Are Inherently Incompatible - P2861R0 (2023-05-19),
  • Requirements for a Contracts syntax - P2885R3 (2023-10-05),
  • Contracts on lambdas - P2890R2 (2023-12-13),
  • Constant evaluation of Contracts - P2894R2 (2024-01-11),
  • Outstanding design questions for the Contracts MVP - P2896R0 (2023-08-22),
  • Contracts for C++ - P2900R6 (2024-02-29),
  • A Principled Approach to Open Design Questions for Contracts - P2932R3 (2024-01-16),
  • An Attribute-Like Syntax for Contracts - P2935R4 (2023-11-05),
  • Contracts must avoid disclosing sensitive information - P2947R0 (2023-07-20),
  • Slides for P2861R0: Narrow Contracts and noexcept are Inherently Incompatable - P2949R0 (2023-07-14),
  • Contracts and virtual functions for the Contracts MVP - P2954R0 (2023-08-03),
  • Contracts and coroutines - P2957R1 (2024-01-13),
  • A natural syntax for Contracts - P2961R2 (2023-11-08),
  • An Overview of Syntax Choices for Contracts - P3028R0 (2023-11-05),
  • Protection against modifications in contracts - P3071R1 (2023-12-17),
  • Remove evaluation_undefined_behavior and will_continue from the Contracts MVP - P3073R0 (2024-01-27),
  • Should ignore and observe exist for constant evaluation of contracts? - P3079R0 (2024-01-11),
  • Contracts for C++: Support for virtual functions - P3097R0 (2024-04-15),
  • Tokyo Technical Fixes to Contracts - P3119R0 (2024-04-04),
  • Contracts on virtual functions for the Contracts MVP - P3165R0 (2024-02-27),
  • Inherited contracts - P3169R0 (2024-04-14),
  • Slides for LEWG presentation of P2900R6: Contracts for C++ - P3189R0 (2024-03-19),
  • Slides for EWG presentation of D2900R7: Contracts for C++ - P3190R0 (2024-03-20),
  • A response to the Tokyo EWG polls on the Contracts MVP (P2900R6) - P3197R0 (2024-04-12),
  • A takeaway from the Tokyo LEWG meeting on Contracts MVP - P3198R0 (2024-03-29),
  • Contracts for C++: Naming the Louis semantic - P3226R0 (2024-04-12),
  • Contracts for C++: Revisiting contract check elision and duplication - P3228R0 (2024-04-16).
std::inplace_vector Early development. Draft P0843R11 (2024-03-22). See also:
  • A direction for Vector - P3147R1 (2024-03-18)
  • An allocator-aware std::inplace_vector - P3160R1 (2024-03-09)
2D Graphics Early development. Draft P0267R10 (2019-10-07).

See also

C documentation for Experimental C features