The International Organization for Standardization (ISO) C++ committee has voted on changes to the draft version of C++20 during its fall meeting in Albuquerque, New Mexico over the weekend.

According to committee chair Herb Sutter, ISO looked at range-based for statements with initializer; bit-casting object representations; and operator ⇔ for C++20.

The committee has allowed initialization for the range-based for loop, followed the C++ Core Guidelines scoping recommendations, added the new header <bit>, adopted Sutter’s proposal for the ⇔, approved extensions to the standard library, and did a lot of cleanup to make the language simpler to use.

Also discussed was the Modules technical specification (TS) ballot comments. TS refers to a document that is separate from the main standard where the committee can gain experience with new features, according to Sutter.

“A primary goal of the meeting was to address the comments received from national bodies in the Modules TS’s comment ballot that ran this summer,”  Sutter wrote in a post. “We managed to address them all in one meeting, as well as deal with most of the specification wording issues discovered in the process of responding to the national comments.”

The committee will continue to work towards approving the Modules TS for publication as well as clean up some the language used.

“It will be great to get the TS published, and continue getting experience with implementations now in progress, at various stages, in all of Visual C++, Clang, and gcc as we let the ink dry and hammer out some remaining design issues, before starting to consider adopting modules into the C++ draft standard itself,” Sutter wrote.