Standardization

P0506R1: use string_view ... instead of const string &/const char* -- Peter Sommerlad

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: P0506R1

Date: 2017-06-06

use string_view for library function parameters instead of const string &/const char *

by Peter Sommerlad

Excerpt:

With basic_string_view there is no longer a reason to keep library APIs that have overloads taking std::string const & and char const * parameter types. Both should be replaced by a single version taking a std::string_view.

Acknowledgements — LEWG in Issaquah for proposing me to write this paper, even when it can not make it into C++17.

Changes from previous versions 4.1 p0506r0

  • removed unnecessary Allocator template parameter
  • change layout in regex adaptation to see changes easier piecewise judgement
  • adjust latex to most current std.tex macros
  • adjust to new standard chapter numbering
  • make regex_search allocator aware again by taking the allocator from a string parameter.

P0448R1: A strstream replacement using span<charT> as buffer -- Peter Sommerlad

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: P0448R1

Date: 2017-06-07

A strstream replacement using span<charT> as buffer

by Peter Sommerlad

Excerpt:

This paper proposes a class template basic_spanbuf and the corresponding stream class templates to enable the use of streams on externally provided memory buffers. No ownership or re-allocation support is given. For those features we have string-based streams. ...

Today, with span we actually have a library type representing such buffers views we can use for specifying (and implementing) such streams. They can be used in areas where dynamic (re-)allocation of stringstreams is not acceptable but the burden of caring for a pre-existing buffer during the lifetime of the stream is manageable.

Changes from p0448r0

  • provide explanation why non-copy-ability, while technically feasible, is an OK thing.
  • remove wrong Allocator template parameter (we never allocate anything).
  • adhere to new section numbering of the standard.
  • tried to clarify lifetime and threading issues.

P0408R2: Efficient Access to basic_stringbuf’s Buffer -- Peter Sommerlad

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: P0408R2

Date: 2017-06-07

Efficient Access to basic_stringbuf’s Buffer

by Peter Sommerlad

Excerpt:

This paper proposes to adjust the API of basic_stringbuf and the corresponding stream class templates to allow accessing the underlying string more efficiently.

N4666: National Body Comments: ISO/IEC PDTS 22277, C++ Extensions for Coroutines -- Barry Hedquist

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: N4666

Date: 2017-06-05

National Body Comments: ISO/IEC PDTS 22277, C++ Extensions for Coroutines

by Barry Hedquist

Excerpt:

Attached is SC22 N5205, a complete set of National Body Comments submitted to JTC1 SC22 in response to the SC22 N5193, Ballot for ISO/IEC PDTS 22277, C++ Extensions for Coroutines.

These comments are to be addressed at the next WG21 meeting in Toronto, July 10 - 15, 2017.

Document numbers referenced in the ballot comments are WG21 documents unless otherwise stated.

C++17 in details: fixes and deprecation

C++17 brings some language fixes and deprecation. See what have changed.

C++17 in details: fixes and deprecation

by Bartlomiej Filipek

From the article:

The draft for the language contains now over 1586 pages! Due to compatibility requirements, the new features are added, but not much is removed. Fortunately, there are some things that could go away.

P0636R0: Changes between C++14 and C++17 DIS -- Thomas Köppe

[Thank you to Thomas for taking the time to research and compile a quite comprehensive list of what's new in C++17! -- Ed.]

A new WG21 paper is available. If you are not a committee member, please use the comments section below or the std-proposals forum for public discussion.

Document number: P0636R0

Date: 2017-04-02

Changes between C++14 and C++17 DIS

by Thomas Köppe

Excerpt:

This document enumerates all the major changes that have been applied to the C++ working draft since the publication of C++14, up to the publication of the C++17 DIS (N4660). Major changes are those that were added in the form of a dedicated paper, excluding those papers that are large issue resolutions. No issue resolutions from either CWG or LWG issues lists (“defect reports”) are included.

Trip report: Winter ISO C++ standards meeting (Kona) -- Botond Ballo

waldo.PNGA new trip report from the just-concluded ISO C++ meeting:

Trip report: C++ standards meeting in Kona, February 2017

by Botond Ballo

From the article:

Conclusion

C++17 is effectively out the door, with its Draft International Standard sent out for ballot, and the official release expected later this year.

Development on C++20 is well under way, with numerous core language and library features already earmarked for it, and several Technical Specifications expected to be merged into it. A proposal for an overall vision for the release aims to focus the committee’s efforts on four headliner features – Concepts, Modules, Ranges, and Networking. That is, of course, not a guarantee these features will be in C++20 (nor is it intended to exclude other features!), but I believe with some luck and continued hard work we can make part of all of that plan a reality.

Modules, in particular, are expected to be a game-changer for C++...

Trip report: Winter ISO C++ standards meeting (Kona) -- Herb Sutter

A trip report from the just-concluded ISO C++ meeting:

Trip report: Winter ISO C++ standards meeting (Kona), C++17 is complete

by Herb Sutter

From the article:

C++17 is done!

The big news is that we completed C++17, which dominated the work of the meeting: C++17 is now technically finished and being sent out for its final ISO balloting. All that remains for C++17 now is some ISO red tape and minor touch-up to get it officially published, which is expected to be just mechanical...