Journal Articles

CVu Journal Vol 31, #6 - January 2020
Browse in : All > Journals > CVu > 316 (11)

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: The Standard Report

Author: Bob Schmidt

Date: 02 January 2020 17:10:20 +00:00 or Thu, 02 January 2020 17:10:20 +00:00

Summary: Guy Davidson reports from the C++ Standards Committee.

Body: 

In this report I’m going to cover the National Body comments that were resolved at the recent meeting in Belfast. Ten motions came before the committee from the Core Working Group (CWG) for voting, and thirty-one from the Library Working Group (LWG). As promised last time, I need to start with a little more procedural detail. Brace yourself for acronyms.

Recall that in Cologne we closed the gate on the standard and declared C++20 ‘finished’. Of course, it isn’t ACTUALLY finished. Each National Body (NB) has to check it over and ensure that it is correct. This includes my own NB, the British Standard Institute (BSI). A few weeks after the Cologne meeting the Committee Draft (CD) was published for examination. Within the BSI we divided up the work among ourselves, taking various chapters of interest. My burden included the first six clauses, covering 82 of the 1794 pages.

We had about eight weeks to complete our review and provide comments. Many people contributed, but we would of course like to share the burden. Indeed, if you have an interest in serving on the BSI C++ panel, do get in touch. Our comments were collated by our chair, Roger Orr, and submitted to the committee. In Belfast, the four working groups (WG), Library Evolution Working Group (LEWG), Evolution Working Group (EWG), LWG and CWG resolved NB comments and looked at smaller proposals for C++23, while the Study Groups (SG) continued their work of looking at new proposals for their domains.

The nature of comment resolution is that fine detail is considered on the CD. No new features are added to the Working Draft (WD). This isn’t a matter of pedantry. While there are some editorial comments about grammar and style, there are also requests for clarification. The purpose of the wording is to minimise ambiguity before maximising clarity. However, there are also sometimes requests for complete removal of features. For example, in the pre-Belfast mailing the Bulgarian NB put forward a good case for the withdrawal of coroutines (individual comments aren’t published as papers available from http://wg21.link).

It was the first time I had attended a committee meeting in the UK. There was a strange sense of being the host to my international friends. It was also the biggest BSI presence I had seen at a committee meeting: there were over twenty of us. On Friday, with nothing left to do before the closing plenary, we went out to find a pub for a celebratory drink, and found ourselves with a few other delegates trying to explain the finer points of Guinness and the traditions of the Irish covers band.

The next meeting is in Prague on February 9th. This should see the resolution of all NB comments and the completion of the Final Draft - International Standard (FDIS). This is sent out for ballot to the NBs, which is a simple pass/fail. If no NB fails the draft, then it will be published as C++20. Next time, I’ll write about that final stage.

Guy Davidson Guy Davidson is the Principal Coding Manager at Creative Assembly. He has been writing games for about 75% of his life now. He is climbing through his piano grades and teaching Tai Chi while parenting in Hove and engaging in local political activism.

Notes: 

More fields may be available via dynamicdata ..