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に入れます。