The summer 2014 WG21 (ISO C++) meeting was held in Rapperswil, Switzerland on June 16-21. Many thanks to HSR Hochschule für Technik Rapperswil for hosting us!

The meeting proceeded pretty much as usual, but because the final (we hope) approval ballot for C++14 itself is still in progress until August 15, in accordance with ISO rules we didn’t formally approve any edits to the C++ working paper. At the next meeting we expect to approve the work of this meeting and next meeting in one batch to kick off the road to C++17.

We also made good progress on most of the eight (8) Technical Specifications in flight; see the current ISO C++ status page for the list. Here are some highlights.

First, we sent three documents out for ballot. This is the first time in ISO C++ history that we have sent three documents out for ballot out of a single meeting.

File System TS progresses to its final ballot (DTS): We finished addressing the international review comments on the File System comment ballot (aka PDTS), so we now have what should be the final text of the TS. In the next week or two I’ll send that out for its final ballot, and barring surprises we expect the TS to be published this year. Thanks very much to project editor Beman Dawes and the many participants and international reviewers who made this a high quality document!

We finished addressing the international review comments on the File System comment ballot (aka PDTS), so we now have what should be the final text of the TS. In the next week or two I’ll send that out for its final ballot, and barring surprises we expect the TS to be published this year. Thanks very much to project editor Beman Dawes and the many participants and international reviewers who made this a high quality document! Parallelism TS progresses to its main comment ballot (PDTS): This is the "Parallel STL" TS that adds parallel and vector lane execution to STL algorithms.

Library Fundamentals TS progresses to its main comment ballot (PDTS): We approved adding several features to the Library Fundamentals TS, notably the We approved adding several features to the Library Fundamentals TS, notably the generalized negator not_fun and fixes for optional<T> . With this, the feature set of “version 1” of the TS is now complete and so it’s going out for its main international review ballot. (But wait, there’s more; see below.)

But we did other things too:

Library Fundamentals TS “version 2” kicked off: We also approved adding the first items for “version 2” of the Library Fundamentals TS. If you’re wondering how we can do that while version 1 is still in progress, the way to think of this is that we’ve now “finished loading the train” for the feature set of Library Fundamentals TS version 1, and we now will get a round of international comments to fine-tune those features and tighten down the load so the train can start moving out of the station. But while that’s happening, over on the next track we’ve also pulled up another set of empty cars and “started loading the next train” by also approving the creation of the first working paper for the next Library Fundamentals TS, “version 2,” and voting the first items into that. If this were software, we’d call it pipelining – same pattern.

We also approved adding the first items for “version 2” of the Library Fundamentals TS. If you’re wondering how we can do that while version 1 is still in progress, the way to think of this is that we’ve now “finished loading the train” for the feature set of Library Fundamentals TS version 1, and we now will get a round of international comments to fine-tune those features and tighten down the load so the train can start moving out of the station. But while that’s happening, over on the next track we’ve also pulled up another set of empty cars and “started loading the next train” by also approving the creation of the first working paper for the next Library Fundamentals TS, “version 2,” and voting the first items into that. If this were software, we’d call it pipelining – same pattern. Networking TS ‘rebooted’: This TS took a big step forward. In recent meetings, the focus of the work had been very small – basically just network byte order conversion, IP addresses, and URIs. At this meeting, the Library Evolution group decided that they would like to make a big bet here and not just take small things piecemeal, but adopt a large and complete proposal based on Boost.ASIO as a starting point. We expect to see an updated version of the ASIO proposal at the next meeting, and hopefully be able to adopt it as our working paper there.

Concurrency TS: The executors proposal has been improving with work between meetings, but still does not quite have consensus. So at this meeting we have removed executors from the Concurrency TS so that this doesn’t stand in the way of progressing the core parts that do have consensus. It’s possible that executors may be reintroduced before version 1 of the TS, but we’ll see. It’s possible that this TS may be ready for its main international comment ballot (PDTS) after the next meeting, but again we’ll have to see.

Concepts TS: This got a very thorough wording review by the Core language working group, and we expect it to be in great shape for sending out for PDTS (comment) ballot after our next meeting this fall.

There’s more, but those are some highlights.

In my previous trip report, I wrote:

WG21 has now shipped out documents for ballot in the last three consecutive ISO C++ meetings, and the plan is for this to continue. We have been filling up our pipeline, and now we’re seeing work come out the other end at a brisk pace. After the long and “working relatively invisibly” period of C++0x, it’s very interesting to see ISO C++ now in a mode where “shipping something out for ISO ballot” is becoming the normal outcome of every meeting. Thanks again to all the volunteers who make it possible! And stay tuned for more to come throughout this year…

This time, again, we sent out not one but three documents for ballot. Quite a meeting.

Thanks, again, to everyone who worked so hard to make this happen.