Current Status

Recent milestones: C++17 published, C++20 underway

C++17 and 10 TSes have been published, and work is now underway on two active TSes and C++20.

C++20 is currently in its final approval process. C++20 unanimously passed its final technical approval ballot on September 4, 2020, and is expected to be formally published toward the end of 2020 after we finish a final round of editorial work.

click to enlarge

Starting in 2012, the committee has transitioned to a "decoupled" model where major pieces of work can progress independently from the Standard itself and be delivered in "feature branch" TSes. Vendors can choose to implement these, and the community can gain experience with the std::experimental version of each feature. This lets us learn and adjust each feature's design based on experience before it is cast in stone when merged into the "trunk" C++ Standard itself. In the meantime, the Standard can be delivered on a more regular cadence with smaller and more predictable batches of features. This approach also helps C++ compilers to track the Standard more closely and add both the experimental and the draft-final C++ features in a more consistent order. The current schedule is in paper P1000.

Many TSes are focusing particularly on producing new C++ standard libraries; to participate, see the instructions for how to Submit a Proposal. See the table below for current status.

Project Details

Here is a summary of the currently active projects and their appointed Project Editors.

  • Programming Language C++ IS: Richard Smith. This is the main C++ Standard project.
  • Library Fundamentals TS: Thomas Köppe. A set of standard library extensions for vocabulary types and other fundamental utilities.
  • Reflection TS: David Sankel. A set of facilities for compile-time introspection.
  • (upcoming) Concurrency TS: Michael Wong. Initially includes library support for executors and non-blocking extensions to std::future. Additionally may include language extensions like coroutines, and additional libraries such as concurrent hash containers and latches.