C++14からC++17にかけての予定

Trip report: Fall ISO C++ meeting


2013年9月末のシカゴ会議で決まった、C++14からC++17にかけてのロードマップ。


C++14に入れる機能の調整
いくつかの機能は、まだ完全に議論され尽くしていないので、一旦C++14の予定からは削除し、TS(Technical Specification)として、C++14に追加で入れます:

  • std::optionalはLibrary Fundamentals TSに移動
  • std::dynarrayはArray Extensions TSに移動

それと、追加でC++14に入れることが決まった機能もあります:

  • 桁区切り文字 : int x = 12'345'789のように、数値リテラルをシングルクォーテーションで桁区切りして記述できるようにします。カンマやアンダースコアは、他の機能と競合して難しいという理由で、シングルクォーテーションが選択されました。
  • サイズ付きのデアロケーション: operator deleteに、サイズを受け取るバージョンが追加されます。
  • [[deprecated]]属性:機能が非推奨であることを表す、deprecated属性を追加します。


Technical Specification(TS)による進行

いくつかの機能は、C++14に直接含めず、標準化作業と並行して仕様策定を進め、技術仕様(TS)としてC++14に追加で入れます。C++14がさらにマイナーバージョンアップする感じです。
先に述べたstd::optionalのLibrary Fundamentals TS、std::dynarrayやstd::array_refといったものが含まれるArray Extensions TSのほかに、Filesystemライブラリ、軽量コンセプト、ネットワークライブラリ、並行ライブラリの拡張(futureのthenや並行コンテナ、スケジューラ等)、並列アルゴリズムなどが追加で入る予定です。
C++14の期間中に間に合わないものは、C++17に入れます。