The C++ standards committee publishes experimental C++ language and library extensions for future standardization.
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 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 (experimental), 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 (experimental), 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 (experimental), 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日).
✔Merged into C++20.
|
Ranges (experimental), 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日).
✔Merged into C++20.
|
<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日).
See also non-TS proposals
|
- Standard Secure Networking - P2586R0 (2022年09月13日)
- Sender-Receiver Interface For Networking - P2762R2 (2023年10月12日)
- A proposed direction for C++ Standard Networking based on IETF TAPS - P3185R0 (2024年12月14日)
- Proposed API for creating TAPS based networking connections - P3482R0 (2024年12月14日)
|
|
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日). 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日).
|
Name |
Status |
Links, Headers
|
Linear Algebra
|
✔Merged into C++26. Proposal: P1673R13 (2023年11月10日).
More proposals:
|
- A proposal to add linear algebra support to the C++ standard library - P1385R7 (2022年10月15日)
- Evolving a Standard C++ Linear Algebra Library from the BLAS - P1674R2 (2022年05月15日)
- Presentation of P1385R7 to LEWG at Issaquah 2023 - P2802R0 (2023年02月09日)
- Fix C++26 by optimizing linalg::conjugated for non-complex value types - P3050R3 (2024年10月29日)
- Fix C++26 by making the symmetric and Hermitian rank-k and rank-2k updates consistent with the BLAS - P3371R4 (2025年04月07日)
|
|
<linalg>
|
std::execution
|
✔Merged into C++26. Proposal: P2300R10 (2024年06月28日).
More proposals:
|
- System execution context - P2079R8 (2025年05月18日)
- 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 - P3164R4 (2025年04月28日)
- Reconsidering the std::execution::on algorithm - P3175R3 (2024年06月25日)
- A sender query for completion behaviour - P3206R0 (2025年01月13日)
-
finally , write_env , and unstoppable Sender Adaptors - P3284R4 (2025年05月16日)
- Fixing Lazy Sender Algorithm Customization - P3303R1 (2024年06月25日)
- A Utility for Creating Execution Environments - P3325R5 (2024年11月22日)
- When Do You Know
connect Doesn't Throw? - P3388R2 (2025年04月01日)
- std::execution wording fixes - P3396R1 (2024年11月19日)
- Enabling more efficient stop-token based cancellation of senders - P3409R1 (2024年11月17日)
-
system_scheduler on Win32, Darwin and Linux - P3456R0 (2024年10月15日)
- Summarizing std::execution::bulk() issues - P3481R3 (2025年04月16日)
- High-Quality Sender Diagnostics with Constexpr Exceptions - P3557R2 (2025年05月16日)
- optional variants in sender-receiver - P3570R1 (2025年05月19日)
- Non-Blocking Support for std::execution - P3669R1 (2025年05月17日)
- Remove
std::execution::split - P3682R0 (2025年05月06日)
- Rename
async_scope_token - P3685R0 (2025年05月07日)
- Rename
join and nest in async_scope proposal - P3706R0 (2025年05月19日)
|
|
Execution (experimental), Execution, <execution>
|
std::inplace_vector
|
✔Merged into C++26. Proposal: P0843R14 (2024年06月26日).
More proposals:
|
-
inplace_vector - P0843(R7) LEWG presentation - P2925R0 (2023年06月16日)
- A direction for Vector - P3147R1 (2024年03月18日)
- An allocator-aware std::inplace_vector - P3160R2 (2024年10月15日)
- No, inplace_vector shouldn't have an Allocator - P3581R0 (2025年01月13日)
- LEWG Hagenberg presentation for P3581. No, inplace_vector shouldn't have an Allocator - P3636R0 (2025年02月13日)
- Cross-capacity comparisons for std::inplace_vector - P3698R0 (2025年05月19日)
|
|
<inplace_vector>
|
experimental::simd std::datapar::simd
|
✔Merged into C++26. Proposal: P1928R15 (2024年11月22日). The main document (TS ISO/IEC 19570:2018) is described in "C++ Extensions for Parallelism V2" above.
|
Data parallel types (experimental), Data parallel types, <simd>
|
Contracts
|
✔Merged into C++26. Proposal: Contracts for C++ - P2900R14 (2025年02月13日)
More proposals:
|
- A Proposal to Publish a Technical Specification for Contracts - P2659R2 (2022年11月30日)
- Proposed Contracts TS - P2660R0 (2022年10月14日)
- 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++ - Rationale - P2899R1 (2025年03月14日)
- 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 Incompatible - P2949R0 (2023年07月14日)
- Contracts and virtual functions for the Contracts MVP - P2954R0 (2023年08月03日)
- Contracts and coroutines - P2957R2 (2024年10月14日)
- 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日)
- Contracts for C++: Postcondition captures - P3098R1 (2024年12月11日)
- Undefined and erroneous behavior are contract violations - P3100R2 (2025年05月19日)
- Tokyo Technical Fixes to Contracts - P3119R1 (2024年05月09日)
- Contracts on virtual functions for the Contracts MVP - P3165R0 (2024年02月27日)
- Inherited contracts - P3169R0 (2024年04月14日)
- Contract testing support - P3183R1 (2024年05月22日)
- Slides for LEWG presentation of P2900R6: Contracts for C++ - P3189R0 (2024年03月19日)
- Slides for LEWG presentation of P2900R7: 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日)
- Why Contracts? - P3204R0 (2024年11月07日)
- The contract of sort() - P3212R0 (2024年07月03日)
- Contracts for C++: Naming the Louis semantic - P3226R0 (2024年04月12日)
- Contracts for C++: Fixing the contract violation handling API - P3227R1 (2024年10月24日)
- Contracts for C++: Revisiting contract check elision and duplication - P3228R1 (2024年05月21日)
- Making erroneous behaviour compatible with Contracts - P3229R1 (2025年02月10日)
- An alternate proposal for naming contract semantics - P3238R0 (2024年05月06日)
- A unified syntax for Pattern Matching and Contracts when introducing a new name - P3249R0 (2024年05月22日)
- C++ contracts with regards to function pointers - P3250R0 (2024年05月07日)
- C++ contracts and coroutines - P3251R0 (2024年05月07日)
- Make the predicate of
contract_assert more regular - P3257R0 (2024年04月26日)
- Ship Contracts in a TS - P3265R3 (2024年05月28日)
- Approaches to C++ Contracts - P3267R1 (2024年05月22日)
- C++ Contracts Constification Challenges Concerning Current Code - P3268R0 (2024年05月07日)
- Do Not Ship Contracts as a TS - P3269R0 (2024年05月21日)
- Repetition, Elision, and Constification w.r.t.
contract_assert - P3270R0 (2024年05月22日)
- Function Usage Types (Contracts for Function Pointers) - P3271R1 (2024年10月15日)
- P2900 Is Superior to a Contracts TS - P3276R0 (2024年05月18日)
- Contracts: Protecting The Protector - P3285R0 (2024年05月15日)
- Integrating Existing Assertions With Contracts - P3290R2 (2024年09月06日)
- C++26 Needs Contract Checking - P3297R1 (2024年06月21日)
- An opt-in approach for integration of traditional assert facilities in C++ contracts - P3311R0 (2024年05月22日)
- Compile time resolved contracts - P3317R0 (2024年05月22日)
- Contracts Interaction With Tooling - P3321R0 (2024年07月12日)
- Contract assertions on function pointers - P3327R0 (2024年10月16日)
- Observable Checkpoints During Contract Evaluation - P3328R0 (2024年06月14日)
- Usage Experience for Contracts with BDE - P3336R0 (2024年06月23日)
- Contracts - What are we doing here (EWG Presentation) - P3343R0 (2024年06月25日)
- Virtual Functions on Contracts (EWG - Presentation for P3097) - P3344R0 (2024年06月28日)
- Class invariants and contract checking philosophy - P3361R1 (2024年07月23日)
- Static analysis and "safety" of Contracts, P2900 vs P2680/P3285 - P3362R0 (2024年08月13日)
- Contract assertions versus static analysis and "safety" - P3376R0 (2024年10月14日)
- Static Analysis of Contracts with P2900 - P3386R1 (2024年11月25日)
- Contract assertions on coroutines - P3387R0 (2024年10月09日)
- Specifying Contract Assertion Properties with Labels - P3400R1 (2025年02月28日)
- Improving the handling of exceptions thrown from contract predicates - P3417R1 (2025年03月05日)
- Contracts Implementors Report - P3460R0 (2024年10月16日)
- Standard library hardening - P3471R4 (2025年02月14日)
- Constification should not be part of the MVP (Minimal Viable Product) - P3478R0 (2024年10月16日)
- Exploring strict contract predicates - P3499R1 (2025年02月09日)
- Are Contracts 'safe'? - P3500R1 (2025年02月09日)
- Slides for P2900R11 - Contracts for C++ - P3502R0 (2024年11月18日)
- P2900 Is Still not Ready for C++26 - P3506R0 (2025年01月13日)
- Violation handlers vs noexcept - P3541R1 (2025年01月07日)
- Core Language Contracts By Default - P3558R1 (2025年02月03日)
- Contract concerns - P3573R0 (2025年01月12日)
- Require a non-throwing default contract-violation handler - P3577R0 (2025年01月12日)
- Observed a contract violation? Skip subsequent assertions! - P3582R0 (2025年01月13日)
- Contracts, Types & Functions - P3583R0 (2025年01月13日)
- Contextualizing Contracts Concerns - P3591R0 (2025年02月03日)
- Initial Implicit Contract Assertions - P3599R0 (2025年02月03日)
- Contracts and profiles: what can we reasonably ship in C++26 - P3608R0 (2025年02月01日)
- Remove contracts on virtual functions for now - P3616R0 (2025年02月08日)
- Make contracts reliable by default - P3640R0 (2025年03月17日)
- Minor additions to C++26 standard library hardening - P3697R0 (2025年05月16日)
|
|
Contract assertions, function contract specifiers, contract_assert, pre, post, <contracts>
|
Reflection
|
The main document (ISO/IEC TS 23619:2021) is described in Reflection TS above.
More proposals:
|
- Scalable Reflection in C++ - P1240R2 (2022年01月14日)
- Expansion statements - P1306R4 (2025年05月17日)
- Reflection on attributes - P1887R1 (2020年01月13日)
- Metaprogramming - P2237R0 (2020年10月15日)
- Python Bindings with Value-Based Reflection - P2911R1 (2023年10月13日)
- Reflection for C++26 - P2996R12 (2025年05月17日)
- 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 - P3096R9 (2025年05月15日)
- Generative Extensions for Reflection - P3157R1 (2024年05月22日)
- Syntax for Reflection - P3381R0 (2024年09月17日)
- Attributes reflection - P3385R5 (2025年05月19日)
- Annotations for Reflection - P3394R3 (2025年05月17日)
- Reflection Syntax Options Summary - P3419R0 (2024年10月11日)
- Reflection of Templates - P3420R1 (2025年01月13日)
- Reflection header should minimize standard library dependencies - P3429R1 (2024年11月29日)
- Reflection and meta-programming - P3435R0 (2024年10月14日)
- Proposed default principles: Reflect C++, Generate C++ - P3437R1 (2024年11月07日)
- Reflection on SG21 2024 Process - P3443R0 (2024年10月14日)
- A Suggestion for Reflection Access Control - P3451R0 (2024年10月15日)
- Ruminations on reflection and access - P3493R0 (2024年11月10日)
- Modeling Access Control With Reflection - P3547R1 (2025年02月09日)
- Error Handling in Reflection - P3560R1 (2025年05月19日)
- Split define_aggregate from Reflection - P3569R0 (2025年01月11日)
- Reconsider reflection access for C++26 - P3587R0 (2025年01月13日)
- Do not remove nor postpone
access_context::unchecked - P3614R0 (2025年02月06日)
-
std::meta::reflect_constant_ {array,string} - P3617R0 (2025年05月16日)
- Inherit std::meta::exception from std::exception - P3637R0 (2025年03月08日)
- Final Adjustments to C++26 Reflection - P3687R0 (2025年05月15日)
|
|
Reflection (experimental)
|
Pattern Matching
|
Early development. Draft P1371R3 (2020年09月15日).
More proposals:
|
- Pattern Matching using is and as - P2392R3 (2024年10月16日)
- Pattern Matching: match expression - P2688R5 (2025年01月13日)
- switch for Pattern Matching - P2940R0 (2022年04月18日)
- Identifiers for Pattern Matching - P2941R0 (2022年02月24日)
- A Postcondition is a Pattern Match - P3210R2 (2024年09月10日)
- A unified syntax for Pattern Matching and Contracts when introducing a new name - P3249R0 (2024年05月22日)
- A simpler notation for PM - P3332R0 (2024年06月18日)
- Slides for P2688R2 - Pattern Matching: match Expression - P3476R0 (2024年10月16日)
- Pattern Matching: Customization Point for Open Sum Types - P3521R0 (2024年12月17日)
- Pattern Matching: *variant-like* and 'std::expected' - P3527R1 (2025年01月13日)
- Pattern matching - P3572R0 (2025年01月12日)
|
|
Profiles
|
Early development.
More proposals:
|
- Safety Profiles: Type-and-resource Safe programming in ISO Standard C+ - P2816R0 (2023年02月16日)
- Concrete suggestions for initial Profiles - P3038R0 (2023年12月16日)
- Core safety Profiles: Specification, adoptability, and impact - P3081R2 (2025年02月03日)
- A framework for Profiles development - P3274R0 (2024年05月10日)
- A Safety Profile Verifying Class Initialization - P3402R3 (2025年05月17日)
- Profile invalidation - eliminating dangling pointers - P3446R0 (2024年10月14日)
- Profiles syntax - P3447R0 (2024年10月14日)
- Response to Core Safety Profiles (P3081R0) - P3543R0 (2024年12月17日)
- The Plethora of Problems With Profiles - P3586R0 (2025年01月13日)
- C++ Profiles: The Framework - P3589R2 (2025年05月19日)
- Contracts and profiles: what can we reasonably ship in C++26 - P3608R0 (2025年02月01日)
- Dealing with pointer errors: Separating static and dynamic checking - P3611R0 (2025年02月04日)
- Easy-to-adopt security profiles for preventing RCE (remote code execution) in existing C++ code - P3627R0 (2025年02月11日)
- A principled approach to safety profiles - P3649R0 (2025年05月19日)
- 21st Century C++ - P3650R0 (2025年03月05日)
- Note to the C++ standards committee members - P3651R0 (2025年03月06日)
- Making Safe C++ happen - P3700R0 (2025年05月19日)
- What are profiles? - P3704R0 (2025年05月19日)
|
|
Statistics
|
Early development.
|
Graph Library
|
Early development.
More proposals:
|
- Graph Library: Overview - P3126R3 (2025年04月13日)
- Graph Library: Algorithms - P3128R3 (2025年04月13日)
- Graph Library: Graph Container Interface - P3130R3 (2025年04月13日)
- Graph Library: Graph Containers - P3131R3 (2025年04月13日)
|
|
2D Graphics
|
Early development. Draft P0267R10 (2019年10月07日).
|