Current Status

Recent milestones: C++17 nearly feature-complete, second round of TSes now under development

C++14 and six TSes have been published, and we've now actively started specification work on the next five TSes.

The committee plans to produce another C++ Standard in 2017. To achieve that, we aim to have the C++17 standard feature-complete at our June 2016 meeting in Oulu, Finland.

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 "beta 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.

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: Geoffrey Romer. A set of standard library extensions for vocabulary types like optional<> and other fundamental utilities.
  • Networking TS: Jonathan Wakely. A small set of network-related libraries including support for network byte order transformation and URIs.
  • Parallelism TS: Jared Hoberock. Initially includes a Parallel STL library with support for parallel algorithms to exploit multiple cores, and vectorizable algorithms to exploit CPU and other vector units.
  • Ranges TS: Casey Carter. Initially includes concept-based range versions of STL iterators and algorithms.
  • Modules TS: Gabriel Dos Reis. An alternative to the header inclusion-based build model.
  • (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.