Standardization

2017-07 post-Toronto mailing available

The full 2017-07 mailing of new standards papers is now available.

 

2017-07 post-Toronto
N4676 WG21 Telecon Minutes Jonathan Wakely 2017-06-30 2017-07   WG21  
N4677 WG21 / PL22.16 Meeting, Jacksonville, FL, March 12 - 17, 2018 Barry Hedquist 2017-07-07 2017-07   WG21  
N4678 National Body Comments for ISO/IEC PDTS 22277, C++ Extensions for Coroutines Gor Nishanov 2017-07-29 2017-07   WG21  
N4679 Editor's report for the Coroutines TS Gor Nishanov 2017-07-29 2017-07   WG21  
N4680 C++ Extensions for Coroutines TS Document Gor Nishanov 2017-07-30 2017-07   WG21  
N4681 Working Draft, Extensions to C++ for Modules Gabriel Dos Reis 2017-07-14 2017-07   WG21 Adopted 2017-07
N4682 Editor's Report for the Module TS Gabriel Dos Reis 2017-07-31 2017-07   WG21  
N4683 Business Plan and Convener's Report Herb Sutter 2017-07-17 2017-07   WG21  
N4684 Ranges TS Ballot Document Casey Carter 2017-07-31 2017-07   WG21  
N4685 Working Draft, C++ Extensions for Ranges Casey Carter 2017-07-31 2017-07   WG21  
N4686 Editor's Report for the Ranges TS Casey Carter 2017-07-31 2017-07   WG21  
N4687 Working Draft, Standard for Programming Language C++ Note: Richard Smith 2017-07-30 2017-07   WG21  
N4688 Editor's Report -- Working Draft, Standard for Programming Language C++ Richard Smith 2017-07-30 2017-07   WG21  
N4689 Extensions to C++ for Modules Ballot Document Gabriel Dos Reis 2017-07-31 2017-07   WG21  
N4690 2017-07 Toronto Record of Discussion Patrice Roy 2017-08-03 2017-07   WG21  
N4691 WG21 2017-07 Toronto Minutes Patrice Roy 2017-08-03 2017-07   WG21  
N4692 PL22.16 2017-07 Toronto Minutes Jonathan Wakely 2017-08-03 2017-07   WG21  
P0052R5 Generic Scope Guard and RAII Wrapper for the Standard Library Peter Sommerlad, Andrew L. Sandoval 2017-07-13 2017-07 P0052R4 Library  
P0053r6 C++ Synchronized Buffered Ostream Lawrence Crowl, Peter Sommerlad, Nicolai Josuttis, Pablo Halpern 2017-07-15 2017-07 P0053R5 Library Evolution, Library  
P0076R4 Vector and Wavefront Policies Arch Robison, Pablo Halpern, Robert Geva, Clark Nelson, Jens Maurer 2017-07-14 2017-07 P0076R3 Library Evolution, Core Adopted 2017-07
P0096R4 Feature-testing recommendations for C++ Clark Nelson 2017-07-26 2017-07 P0096R3 Feature Testing  
P0124R3 Linux-Kernel Memory Model Paul E. McKenney, Ulrich Weigand, Andrea Parri, Boqun Feng 2017-06-26 2017-07 P0124R2 Concurrency  
P0190R4 Proposal for New memory order consume Definition Paul E. McKenney, Michael Wong, Hans Boehm, Jens Maurer, Jeffrey Yasskin, JF Bastien 2017-07-28 2017-07 P0190R3 Concurrency  
P0214R5 Data-Parallel Vector Types & Operations Matthias Kretz 2017-07-30 2017-07 P0214R4 Library  
P0233R5 Hazard Pointers: Safe Reclamation for Optimistic Concurrency Maged M. Michael, Michael Wong, Paul McKenney, Arthur O'Dwyer, David Hollman, Geoffrey Romer, Andrew Hunter 2017-07-30 2017-07 P0233R4 Concurrency, SG14, Library Evolution  
P0237r8 Wording for fundamental bit manipulation utilities Vincent Reverdy, Robert J. Brunner 2017-07-31 2017-07 P0237r7 Library Evolution  
P0267r6 A Proposal to Add 2D Graphics Rendering and Display to C++, Michael McLaughlin, Herb Sutter, Jason Zink, Guy Davidson 2017-07-30 2017-07 P0267R5 Library Evolution  
P0306R4 Comma elision and comma deletion Thomas Köppe 2017-07-12 2017-07 P0306R3 Core, WG14 Adopted 2017-07
P0329R4 Designated Initialization Wording Tim Shen, Richard Smith 2017-07-12 2017-07 P0329R3 Core  
P0350R1 Integrating simd with parallel algorithms Matthias Kretz 2017-07-30 2017-07 P0350R0 Library Evolution  
P0388R1 Permit conversions to arrays of unknown bound Robert Haberlach 2017-07-15 2017-07 P0388R0 Evolution  
P0428R2 Familiar template syntax for generic lambdas Louis Dionne 2017-07-13 2017-07 P0428R1 Core Adopted 2017-07
P0443R2 A Unified Executors Proposal for C++ Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown 2017-07-31 2017-07 P0443R1 Concurrency,  
P0457R1 String Prefix and Suffix Checking Mikhail Maltsev 2017-07-16 2017-07 P0457R0 Library  
P0463R1 endian, Just endian Howard Hinnant 2017-07-13 2017-07 P0463R0 Library Adopted 2017-07
P0534R2 call/cc (call-with-current-continuation): A low-level API for stackful context switching Oliver Kowalke 2017-07-31 2017-07 P0534R1 Library Evolution  
P0541R1 Ranges TS: Post-Increment on Input and Output Iterators Eric Niebler 2017-07-10 2017-07 P0541R0 Library Adopted 2017-07
P0547R2 Ranges TS: Assorted Object Concept Fixes Eric Niebler 2017-07-11 2017-07 P0547R1 Library Adopted 2017-07
P0550R2 Transformation Trait remove_cvref Walter E. Brown 2017-07-17 2017-07 P0550R1 Library  
P0566R2 Proposed Wording for Concurrent Data Structures: Hazard Pointer and Read-Copy-Update (RCU) Michael Wong, Maged M. Michael, Paul McKenney, Geoffrey Romer, Andrew Hunter 2017-07-30 2017-07 P0566R1 Concurrency, SG14, Library Evolution, Library  
P0579R1 Constexpr for <experimental/ranges/iterator> Casey Carter 2017-07-10 2017-07 P0579R0 Library Adopted 2017-07
P0641R1 Resolving Core Issue #1331 (const mismatch with defaulted copy constructor) Daniel Krugler, Botond Ballo 2017-07-24 2017-07 P0641R0 Evolution  
P0643R0 Omnibus paper:Toronto 2017 meeting Michael Wong 2017-06-14 2017-07   WG21  
P0647R1 Floating point value access for std::ratio Peter Sommerlad 2017-07-21 2017-07 P0647R0 Library, Library Evolution, SG6  
P0651R1 Switch the Ranges TS to Use Variable Concepts Eric Niebler 2017-07-10 2017-07 P0651R0 Library Adopted 2017-07
P0653R1 Utility to convert a pointer to a raw pointer Glen Joseph Fernandes 2017-07-21 2017-07 P0653R0 Library Evolution  
P0664R1 Coroutines TS Issues Gor Nishanov 2017-06-18 2017-07 P0664R0 Evolution, Core, Library Adopted 2017-07
P0668R1 Revising the C++ memory model Hans-J. Boehm, Olivier Giroux, Viktor Vafeiades 2017-07-30 2017-07 P0668R0 Concurrency  
P0674R1 Extending make_shared to Support Arrays Peter Dimov, Glen Fernandes 2017-07-12 2017-07 P0674R0 Library Evolution Adopted 2017-07
P0682R1 Repairing elementary string conversions Jens Maurer 2017-07-12 2017-07 P0682R0 Library Adopted 2017-07
P0683R1 Default member initializers for bit-fields Jens Maurer 2017-07-13 2017-07 P0683R0 Evolution, Core Adopted 2017-07
P0696R1 Remove abbreviated functions and template-introduction syntax from the Concepts TS Tom Honermann 2017-07-13 2017-07 P0696R0 Evolution  
P0699R0 C++ Standard Library Issues Resolved Directly In Toronto Marshall Clow 2017-07-14 2017-07   Library Adopted 2017-07
P0702R1 Language support for Constructor Template Argument Deduction Mike Spertus, Jason Merrill 2017-07-14 2017-07 P0702R0 Evolution, Core Adopted 2017-07
P0704R1 Fixing const-qualified pointers to members Barry Revzin 2017-07-10 2017-07 P0704R0 Evolution Adopted 2017-07
P0707R1 Metaclasses: Generative C++ Herb Sutter 2017-07-25 2017-07 P0707R0 SG7  
P0710R1 Core Language Working Group "ready" Issues for the July, 2017 (Toronto) meeting William M. Miller 2017-07-13 2017-07 P0710R0 Core Adopted 2017-07
P0714R0 Identically Named Namespaces and non-Exported Symbols Nathan Sidwell 2017-06-06 2017-07   Evolution, Core  
P0715R0 Exporting Using Directives Nathan Sidwell 2017-06-18 2017-07   Evolution, Core  
P0717R1 Semantic constraint matching for concepts Richard Smith, Andrew Sutton 2017-07-24 2017-07 P0717R0 Posterity  
P0724R0 Merge the Concepts TS Working Draft into the C++20 working draft Ville Voutilainen 2017-06-27 2017-07   WG21  
P0725R0 Remove the requirement for constrained-type-specifiers to be deduced to the same type from the Concepts TS Tom Honermann 2017-07-03 2017-07   Evolution  
P0726R0 Does the Concepts TS Improve on C++17? Duncan P.N. Exon Smith 2017-07-07 2017-07   Evolution  
P0727R0 Core Issue 1299: Temporary objects vs temporary expressions Jens Maurer 2017-07-10 2017-07   Core Adopted 2017-07
P0728R0 Wording for Networking PDTS ballot comment 005 Jonathan Wakely 2017-07-11 2017-07   Networking Adopted 2017-07
P0729R0 Proposed wording for Networking TS NB comment GB 9 Christopher Kohlhoff 2017-07-11 2017-07   Networking Adopted 2017-07
P0730R0 Options for addressing requires-clause syntax ambiguities Hubert S.K. Tong 2017-07-11 2017-07   Evolution  
P0730R1 Options for addressing requires-clause syntax ambiguities Hubert S.K. Tong 2017-07-12 2017-07 P0730R0 Evolution  
P0731R0 Module Interface Imports Nathan Sidwell 2017-07-27 2017-07   Evolution, Core  
P0734R0 Wording Paper, C++ extensions for Concepts Andrew Sutton 2017-07-14 2017-07 N4674 WG21 Adopted 2017-07
P0738R0 I Stream, You Stream, We All Stream for istream_iterator Casey Carter 2017-07-07 2017-07   Library  
P0739R0 Some improvements to class template argument deduction integration into the standard library Mike Spertus, Walter E. Brown, Stephan T. Lavavej 2017-07-13 2017-07   Library Evolution, Library Adopted 2017-07
P0740R0 Ranges TS "Immediate" Issues from the July 2017 (Toronto) meeting Casey Carter 2017-07-14 2017-07   Library Adopted 2017-07
P0742R0 Wording for Networking PDTS ballot comment resolutions Jonathan Wakely 2017-07-14 2017-07   Networking Adopted 2017-07
P0746R0 Wording for Networking PDTS ballot comment 011 (US-10) Jonathan Wakely 2017-07-13 2017-07   Networking Adopted 2017-07
P0747R0 Wording for Networking PDTS ballot comments 026 (GB-15) and 027 (GB-16) Jonathan Wakely 2017-07-14 2017-07   Networking  
P0747R1 Wording for Networking PDTS ballot comment 026 (GB-15), but not 027 (GB-16) Jonathan Wakely 2017-07-14 2017-07 P0747R0 Networking Adopted 2017-07
P0748R0 Wording for Networking PDTS ballot comments on reentrancy Jonathan Wakely 2017-07-14 2017-07   Networking Adopted 2017-07
P0749R0 Namespace Pervasiveness & Modules Nathan Sidwell 2017-07-27 2017-07 P0714R0 Evolution, Core  
P0753R0 Manipulators for C++ Synchronized Buffered Ostream Peter Sommerlad, Pablo Halpern 2017-07-15 2017-07   Library Evolution, Library  
P0754R0 <version> Alan Talbot 2017-07-30 2017-07   Library Evolution  
P0758R0 Implicit conversion traits and utility functions Daniel Krugler 2017-07-30 2017-07   Library Evolution, Library  
P0759R0 fpos Requirements Daniel Krugler 2017-07-28 2017-07   Library  
P0761R0 Executors Design Document Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown, Michael Wong 2017-07-31 2017-07   Concurrency  
P0766R0 Fixing small-ish functionality gaps in constraints Ville Voutilainen 2017-07-31 2017-07   Evolution  

 

Trip Report: C++ Standards Meeting in Toronto, July 2017—Botond Ballo

Another report:

Trip Report: C++ Standards Meeting in Toronto, July 2017

by Botond Ballo

From the article:

A couple of weeks ago I attended a meeting of the ISO C++ Standards Committee (also known as WG21) in Toronto, Canada (which, incidentally, is where I’m based). This was the second committee meeting in 2017; you can find my reports on previous meetings here (November 2016, Issaquah) and here (February 2017, Kona). These reports, particularly the Kona one, provide useful context for this post.

What should the ISO C++ Standards Committee be doing?

What should the ISO C++ Standards Committee be doing?


Bjarne Stroustrup


There is a lot of talk within the committee and outside about how to chose what to work on, what processes will work best for handling proposals, and how to maintain a direction for the language.

In January, a group of heads of national delegations submitted a document entitled Operating principles for evolving C++ and the committee constituted a small group of experienced members to try to develop and maintain direction of the standards effort.

In June, Titus Winters and the members of the direction group submitted a follow-up document: C++ Stability, Velocity, and Deployment starting the process of making the principles real. This document was presented at the Toronto meeting to about 80 members in an evening session. It was very well received.

We are working to make the suggestions from those papers concrete to improve the standards process, and eventually help improve C++ and its ISO standard. Here, I would like to direct attention to one part of that document:

Proposal – “Our Promise To Users” a.k.a

“The C++ Programmers’ Bill of Rights.”

We, the ISO C++ Standards Committee, promise to the best of our ability to deliver the
following, assuming user code adheres to the current standard:

  1. Compile-time stability: Every change in behavior in a new version of the standard is detectable by a compiler for the previous version.
  2. Link-time stability: ABI breakage is avoided except in very rare cases, which will be welldocumented and supported by a written rationale.
  3. Compiler performance stability: Changes will not imply significant added compile-time costs for existing code.
  4. Run-time Performance stability: Changes will not imply added run-time costs to existing code.
  5. Progress: Every revision of the standard will offer improved support for some significant programming activity or community.
  6. Simplicity: Every revision of the standard will offer some simplification of some significant programming activity.
  7. Timeliness: The next revision of the standard will be shipped on time according to a published schedule.

Note “to the best of our abilities”. These are guiding principles, rather than executable statements. For example, if I add a function to a header file, the compilation of code that includes that header will slow down imperceptibly. That’s understood and could be argued not to be “existing code” because of the change. Adding enormous amounts of code to a header so that compilation slowed down noticeably
would be another matter.

These are ideals. They are what we would like to see done. I we succeed, most users will be very happy. However, they are not a recipe we could blindly follow to deliver a new standard. As is typical for ideals, they can conflict: there are tensions among the desired goals. This is common: Ideally, we want quality, on-time delivery, and low cost of products, but we know from vast experience that it is very hard to get all three. We want freedom of speech and absence of verbal intimidation, but balancing those two can be very hard. It is the same for the ideals of the “The C++ Bill of Rights”; we want all, but the committee will have to make hard choices.

These are ideals. They are meant to be rather grand statements, rather than nit-picked long sentences with every statement watered down by adjectives and caveats. It will be up to the committee members to interpret the ideals for real design and scheduling problems.

There are just 7 ideals listed and they are quite general. We could add many more, but a laundry list of specifics, would dull the appeal and be impossible to remember in the heat of discussions about direction, what can be delivered when, and specific technical concerns.

So, what do you think? Should the committee formally commit to this? Can it be improved? How? Obviously, we need a discussion within the committee and in the community in general before deciding on anything.

Trip report: Summer ISO C++ standards meeting (Toronto)—Herb Sutter

wg21-toronto-city-e1500123984972.pngThe Toronto ISO C++ meeting just concluded:

Trip report: Summer ISO C++ standards meeting (Toronto)

by Herb Sutter

From the article:

A few minutes ago, the ISO C++ committee completed its summer meeting in Toronto, Ontario, Canada. We had some 130 people at the meeting, representing nine national bodies. As usual, we met for six days Monday through Saturday, including several evenings.

The following are some highlights of what we achieved this week...

What’s in C++20 and the C++17 final score card

What's in C++20 and the C++17 final score card: A report from Kona and look at the Toronto C++ meeting
Posted on July 10, 2017 by Michael Wong.

I am writing this blog long after my trip to the Kona C++ standard meeting due to unusually high business commitments post-meeting and using it as an opportunity to also look ahead to the C++20 content to be reviewed in Toronto. I will publish my usual update to the C++17 content slidedeck similar to my Dec 2016 Issaquah trip report. This will contain the final score card for C++17, including all the features with links, and an evaluation scorecard of what made it in based on what Bjarne had earlier suggested in 2015 as possible content for C++17.

P0724R0: Merge the Concepts TS Working Draft into the C++20 working draft—Ville Voutilainen

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: P0724R0

Date: 2017-06-27

Merge the Concepts TS Working Draft into the C++20 working draft

by Ville Voutilainen

Excerpt:

The proposal is to merge the Concepts TS Working Draft into the C++20 Working Draft as is, and fix remaining issues, including design issues, before the publication of C++20.

2017-06 pre-Toronto mailing available

The full 2017-06 mailing of new standards papers is now available.

 

2017-06 pre-Toronto
N4662 PL22.16/WG21 draft agenda: 10-15 Jul 2017, Toronto, ON, CA Clark Nelson 2017-03-27 2017-06   WG21  
N4663 Coroutines PDTS document Gor Nishanov 2017-03-25 2017-06   WG21  
N4664 Responses to National Body Comments for ISO/IEC CD 14882 Barry Hedquist 2017-03-30 2017-06   WG21  
N4665 WG21 telecon meeting: Pre-Toronto Herb Sutter 2017-06-01 2017-06   WG21  
N4666 National Body Comments, SC22 N 5205, ISO/IEC PDTS 22277, C++ Extensions for Coroutines Barry Hedquist 2017-06-05 2017-06   WG21  
N4667 Working Draft, Extensions to C++ for Modules Gabriel Dos Reis 2017-03-19 2017-06 N4647 WG21  
N4668 Editor's Report for the Module TS Gabriel Dos Reis 2017-06-19 2017-06   WG21  
N4669 Working Draft, Technical Specification for C++ Extensions for Parallelism Version 2 Jared Hoberock 2017-06-19 2017-06 N4578 WG21  
N4670 Parallelism TS Editor's Report, pre-Toronto mailing Jared Hoberock 2017-06-19 2017-06   WG21  
N4671 Working Draft, C++ Extensions for Ranges Casey Carter 2017-06-18 2017-06   WG21  
N4672 Editor's Report for the Ranges TS Casey Carter 2017-06-19 2017-06   WG21  
N4673 Sping 2018 WG21 Meeting Information (Rapperswil) Peter Sommerlad 2017-06-18 2017-06   WG21  
N4674 Working Draft, C++ extensions for Concepts Andrew Sutton 2017-06-19 2017-06 N4641 WG21  
N4675 Editor's report for the Concepts TS Andrew Sutton 2017-06-18 2017-06   WG21  
P0052R4 Generic Scope Guard and RAII Wrapper for the Standard Library Peter Sommerlad, Andrew L. Sandoval 2017-06-16 2017-06 P0052R3 Library  
P0053R4 DRAFT C++ Synchronized Buffered Ostream Lawrence Crowl, Peter Sommerlad, Nicolia Josuttis 2017-03-02 2017-06 P0053R3 Library Evolution, Concurrency, Library  
P0053R5 DRAFT C++ Synchronized Buffered Ostream Lawrence Crowl, Peter Sommerlad, Nicolia Josuttis 2017-06-19 2017-06 P0053R4 Library Evolution, Concurrency, Library  
P0059R4 A proposal to add a ring span to the standard library Guy Davidson, Arthur O'Dwyer 2017-06-18 2017-06 P0059R3 SG14, Library Evolution  
P0122R5 span: bounds-safe views for sequences of objects Neil MacIntosh 2017-06-17 2017-06 P0122R4 Library  
P0194R4 Static reflection Matúš Chochlík, Axel Naumann, David Sankel 2017-06-18 2017-06 P0194R3 SG7, Evolution  
P0196R3 Generic none() factories for Nullable types Vicente J. Botet Escriba 2017-06-15 2017-06 P0196R2 Library Evolution  
P0208R1 Copy-swap Transaction Pablo Halpern 2017-06-17 2017-06 P0208R0 Library Evolution  
P0214R4 Data-Parallel Vector Types & Operations Matthias Kretz 2017-06-19 2017-06 P0214R3 Library Evolution  
P0233R4 Hazard Pointers: Safe Reclamation for Optimistic Concurrency Maged M. Michael, Michael Wong, Paul McKenney, Arthur O'Dwyer, David Hollman, Geoffrey Romer, Andrew Hunter 2017-06-18 2017-06 P0233R3 Concurrency, SG14, Library Evolution  
P0237r7 Wording for fundamental bit manipulation utilities Vincent Reverdy, Robert J. Brunner 2017-06-19 2017-06 P0237r6 Library Evolution  
P0238R1 Return type deduction and SFINAE Tomasz Kami_ski 2017-05-08 2017-06 P0238R0 Evolution  
P0244R2 Text_view: A C++ concepts and range based character encoding and code point enumeration library Tom Honermann 2017-06-13 2017-06 P0244R1 Library Evolution  
P0267R5 A Proposal to Add 2D Graphics Rendering and Display to C++, Michael McLaughlin, Herb Sutter, Jason Zink, Guy Davidson 2017-06-19 2017-06 P0267R4 Library Evolution  
P0306R3 Comma elision and comma deletion Thomas Koeppe 2017-06-18 2017-06 P0306R2 Evolution, Core, WG14  
P0312R1 Make Pointers to Members Callable Barry Revzin 2017-06-07 2017-06 P0312R0 Evolution  
P0315R2 Lambdas in unevaluated context Louis Dionne 2017-06-18 2017-06 P0315R1 Evolution  
P0319R1 Adding Emplace functions for promise<T>/future<T> Vicente J. Botet Escriba 2017-06-15 2017-06 P0319R0 Library Evolution, Concurrency  
P0323R2 A proposal to add a utility class to represent expected object (Revision 4) Vicente J. Botet Escriba 2017-06-15 2017-06 P0323R1 Library Evolution  
P0327R2 Product types access Vicente J. Botet Escriba 2017-06-15 2017-06 P0327R1 Evolution, SG7, Library Evolution  
P0329R3 Designated Initialization Wording Tim Shen, Richard Smith 2017-06-06 2017-06 P0329R2 Core  
P0338R2 C++ generic factories Vicente J. Botet Escriba 2017-06-15 2017-06 P0338R1 Library Evolution  
P0339R3 polymorphic_allocator<void> as a vocabulary type Pablo Halpern, Dietmar Kühl 2017-05-29 2017-06 P0339R2 Library Evolution  
P0343R1 Meta-programming High-Order Functions Vicente J. Botet Escriba 2017-06-15 2017-06 P0343R0 Library Evolution  
P0355R3 Extending <code><chrono></code> to Calendars and Time Zones Howard Hinnant 2017-06-18 2017-06 P0355R2 Library Evolution  
P0407R1 Allocator-aware basic stringbuf Peter Sommerlad 2017-06-15 2017-06 P0407R0 Library Evolution, Library  
P0408R2 Efficient Access to basic stringbuf's Buffer Peter Sommerlad 2017-06-07 2017-06 P0408R1 Library Evolution, Library  
P0425R0 Metaprogramming by design, not by accident Louis Dionne 2017-06-18 2017-06   SG7  
P0428R1 Familiar template syntax for generic lambdas Louis Dionne 2017-05-16 2017-06 P0428R0 Core  
P0429R1 A Standard flat_map Zach Laine 2017-08-31 2017-06 P0429R0 Library, Library Evolution  
P0433R3 Toward a resolution of US7 and US14: Integrating template deduction for class templates into the standard library Mike Spertus, Walter E. Brown, Stephan T. Lavavej 2017-06-18 2017-06 P0433R2 Library Evolution, Library  
P0447R2 Introduction of std::colony to the standard library Patrice Roy, Guy Davidson, Matthew Bentley 2017-06-16 2017-06 P0447R1 Library Evolution, SG14  
P0448R1 A strstream replacement using span<charT> as Peter Sommerlad 2017-06-07 2017-06 P0448R0 Library Evolution, Library  
P0484R1 Enhancing Thread Constructor Attributes Patrice Roy, Billy Baker, Arthur O'Dwyer 2017-06-18 2017-06 P0484R0 Concurrency  
P0501R2 C++ Module TS Issues List Gabriel Dos Reis 2017-06-19 2017-06 P0501R1 Core, Evolution  
P0506R1 use string_view for library function parameters instead of const string & / const char * Peter Sommerlad 2017-06-06 2017-06 P0506R0 Library, Library Evolution  
P0514R1 Enhancing std::atomic_flag for waiting Olivier Giroux 2017-06-14 2017-06 P0514R0 Concurrency  
P0515R1 Consistent comparison Herb Sutter 2017-06-16 2017-06 P0515R0 Evolution, Library Evolution, Core, Library  
P0534R1 call/cc (call-with-current-continuation): A low-level API for stackful context switching Oliver Kowalke 2017-06-18 2017-06 P0534R0 Concurrency, Library Evolution  
P0539R1 A Proposal to add wide_int Template Class Igor Klevanets, Antony Polukhin 2017-06-05 2017-06 P0539R0 Numerics  
P0542R1 Support for contract based programming in C++ G. Dos Reis, J. D. Garcia, J. Lakos, A. Meredith, N. Myers, B. Stroustrup 2017-06-16 2017-06 P0542R0 Library Evolution  
P0547R1 Ranges TS: Assorted Object Concept Fixes Eric Niebler 2017-06-10 2017-06 P0547R0 Library  
P0549R1 Adjuncts to std::hash Walter E. Brown 2017-06-11 2017-06 P0549R0 Library Evolution  
P0550R1 Transformation Trait uncvref Walter E. Brown 2017-06-11 2017-06 P0550R0 Library Evolution  
P0561R1 RAII Interface for Deferred Reclamation Geoffrey Romer 2017-06-16 2017-06 P0561R0 Concurrency  
P0566R1 Proposed Wording for Concurrent Data Structures: Hazard Pointer and Read-Copy-Update (RCU) Michael Wong, Maged M. Michael, Paul McKenney, Geoffrey Romer, Andrew Hunter 2017-06-19 2017-06 P0566R0 Concurrency, SG14, Library Evolution, Library  
P0567R1 Asynchronous managed pointer for Heterogeneous computing Gordon Brown, Ruyman Reyes, Michael Wong 2017-06-19 2017-06 P0567R0 Concurrency, SG14  
P0572R1 bit_sizeof and bit_offsetof Alex Christensen 2017-06-01 2017-06 P0572R0 Evolution  
P0573R1 Abbreviated Lambdas for Fun and Profit Barry Revzin 2017-06-04 2017-06 P0573R0 Evolution  
P0578R1 Static Reflection in a Nutshell Matúš Chochlík, Axel Naumann, David Sankel 2017-06-18 2017-06 P0578R0 Library Evolution  
P0584R0 Module Interface and Preamble Gabriel Dos Reis 2017-06-19 2017-06   Evolution  
P0591R2 Utility functions to implement uses-allocator construction Pablo Halpern 2017-06-12 2017-06 P0591R1 Library Evolution  
P0602R1 variant and optional should propagate copy/move triviality Zhihao Yuan 2017-04-30 2017-06 P0602R0 Library Evolution  
P0616R0 de-pessimize legacy <numeric> algorithms with std::move Peter Sommerlad 2017-06-06 2017-06   Library Evolution, Library  
P0619R1 Reviewing Deprecated Facilities of C++17 for C++20 Alisdair Meredith, Stephan T. Lavavej, Tomasz Kamiński 2017-03-19 2017-06 P0619R0 Evolution, Library Evolution  
P0627R1 Attribute to mark unreachable code Melissa Mears 2017-06-12 2017-06 P0627R0 Evolution  
P0635R0 Add c_array method to std::array Dan Raviv 2017-06-09 2017-06   Library Evolution  
P0636R0 Changes between C++14 and C++17 Thomas Köppe 2017-04-02 2017-06   All  
P0636R1 Changes between C++14 and C++17 Thomas Köppe 2017-06-18 2017-06 P0636R0 All  
P0637R0 Capture *this with initialize Thomas Köppe 2017-06-18 2017-06   Evolution  
P0638R0 Crochemore-Perrin search algorithm for std::search Ed Schouten 2017-05-03 2017-06   Library  
P0639R0 Changing attack vector of the constexpr_vector Antony Polukhin, Alexander Zaitsev 2017-06-14 2017-06   Evolution, Library Evolution  
P0640R0 User-defined exception information and diagnostic information in exception objects Emil Dotchevski, Peter Dimov 2017-04-15 2017-06   Library Evolution  
P0641R0 Resolving Core Issue #1331 (const mismatch with defaulted copy constructor) Daniel Krugler, Botond Ballo 2017-04-17 2017-06   Evolution  
P0642R0 Structural Support for C++ Concurrency Mingxin Wang 2017-05-26 2017-06   Concurrency, SG8, Evolution, Library Evolution  
P0644R0 Forward without forward Barry Revzin 2017-06-11 2017-06   Evolution  
P0645R0 Text Formatting Victor Zverovich 2017-05-22 2017-06   Library Evolution  
P0646R0 Improving the Return Value of Erase-Like Algorithms Marc Mutz 2017-05-19 2017-06   Library Evolution  
P0647R0 Floating point value access for std::ratio Peter Sommerlad 2017-05-20 2017-06   Library, Library Evolution  
P0648R0 Extending Tuple-like algorithms to Product-Typ Vicente J. Botet Escriba 2017-06-15 2017-06   SG7, Library Evolution  
P0650R0 C++ Monadic interface Vicente J. Botet Escriba 2017-06-15 2017-06   Library Evolution  
P0651R0 Switch the Ranges TS to Use Variable Concepts Eric Niebler 2017-06-17 2017-06   Library  
P0652R0 Concurrent associative data structure with unsynchronized view Anton Malakhov, Sergey Murylev, Antony Polukhin 2017-06-14 2017-06   Concurrency  
P0653R0 pointer_traits utility to convert to raw pointer Glen Joseph Fernandes 2017-05-28 2017-06   Library Evolution  
P0654R0 Explicit struct Loic Joly 2017-06-05 2017-06   Evolution  
P0656R0 Reducing <ratio> Walter Brown 2017-06-11 2017-06   Numerics, Library Evolution  
P0657R0 Deprecate Certain Declarations in the Global Namespace Walter Brown 2017-06-11 2017-06   Library Evolution  
P0658R0 Proposal for adding alias declarations to concepts Christopher Di Bella 2017-06-11 2017-06   Evolution  
P0659R0 Adding status() to std::future Nicolai Josuttis 2017-03-02 2017-06   Concurrency, Library  
P0660R0 A Cooperatively Interruptible Joining Thread Nicolai Josuttis 2017-06-19 2017-06   Concurrency, Library  
P0661R0 slot_map Container in C++ Allan Deutsch 2017-06-12 2017-06   Library Evolution, SG14  
P0662R0 Wording for Ranges TS Issue 345 / US-2: Update ranged-for-loop wording Casey Carter, Eric Niebler 2017-06-13 2017-06      
P0663R0 Ranges TS "Ready" Issues for the July 2017 (Toronto) meeting Casey Carter 2017-06-19 2017-06      
P0664R0 Coroutines TS Issues Gor Nishanov 2017-06-18 2017-06   Evolution, Core, Library  
P0665R0 Allowing Class Template Specializations in Unrelated Namespaces Tristan Brindle 2017-06-18 2017-06   Evolution  
P0666R0 C++ Latches and Barriers Alasdair Mackintosh 2017-06-19 2017-06   WG21  
P0667R0 The future of std::future extensions Hans-J. Boehm 2017-06-18 2017-06   Concurrency, Library Evolution  
P0668R0 Revising the C++ memory model Hans-J. Boehm, Olivier Giroux, Viktor Vafeiades 2017-06-19 2017-06   Concurrency  
P0669R0 Why We Should Standardize 2D Graphics for C++ Guy Davidson, Michael B. McLaughlin 2017-06-19 2017-06   Library Evolution  
P0670R0 Static reflection of functions Matúš Chochlík, Axel Naumann, David Sankel 2017-06-18 2017-06   SG7, Evolution, Library Evolution  
P0671R0 Parametric Functions Axel Naumann 2017-06-15 2017-06   Evolution  
P0672R0 Implicit Evaluation of "auto" Variables Joël Falcou, Peter Gottschling, Herb Sutter 2017-06-18 2017-06 N4035 Evolution  
P0673R0 Merge Concurrency TS atomic pointers into C++20 working draft Herb Sutter 2017-06-16 2017-06   WG21  
P0674R0 Extending make_shared to Support Arrays Peter Dimov, Glen Fernandes 2017-06-15 2017-06 N3939 Library Evolution  
P0675R0 Numeric Traits for Type Composition John McFarlane 2017-06-19 2017-06   Numerics, SG14, Library Evolution  
P0676R0 Towards a Good Future Felix Petriconi, David Sankel, Sean Parent 2017-06-18 2017-06   Library  
P0678R0 Business Requrements for Modules John Lakos 2017-06-16 2017-06   Evolution  
P0679R0 Forward progress vs. futures and continuations Torvald Riegel 2017-06-14 2017-06   Concurrency  
P0680R0 SG1 efficiency Torvald Riegel 2017-06-14 2017-06   Concurrency  
P0681R0 Precise Semantics for Assertions Lisa Lippincot 2017-06-16 2017-06   Evolution  
P0682R0 Repairing elementary string conversions Jens Maurer 2017-06-19 2017-06   Library Evolution, Library  
P0683R0 Default member initializers for bit-fields Jens Maurer 2017-06-18 2017-06   Evolution, Core  
P0684R0 C++ Stability, Velocity, and Deployment Plans Titus Winters, Bjarne Stroustrup, Daveed Vandevoorde, Beman Dawes, Michael Wong, Howard Hinnant 2017-06-19 2017-06   WG21  
P0685R0 SG5: Transactional Memory (TM) Meeting Minutes 2017/01/30-2017/06/05 Michael Wong 2017-06-19 2017-06   SG5  
P0686R0 SG14: Low Latency Meeting Minutes 2017/03/09-2017/06/14 Michael Wong 2017-06-19 2017-06   SG14  
P0687R0 Data Movement in C++ Ruyman Reyes, Gordon Brown, Michael Wong, Hartmut Kaiser 2017-05-30 2017-06   SG14, Concurrency  
P0688R0 A Proposal to Simplify the Unified Executors Design Chris Kohlhoff, Jared Hoberock, Chris Mysen, Gordon Brown 2017-06-19 2017-06   Concurrency  
P0689R0 A Word about Modules Gabriel Dos Reis 2017-06-19 2017-06   WG21  
P0690R0 Tearable Atomics JF Bastien, Billy Robert O'Neal III 2017-06-18 2017-06   Concurrency  
P0691R0 Integrating Concepts: "Open" items for consideration John H. Spicer, Hubert S.K. Tong, Daveed Vandevoorde 2017-06-17 2017-06   Evolution  
P0694R0 Function declarations using concepts Bjarne Stroustrup 2017-06-18 2017-06   WG21  
P0695R0 Alternative concepts Bjarne Stroustrup 2017-02-19 2017-06   Evolution  
P0696R0 Remove abbreviated functions and template-introduction syntax from the Concepts TS Tom Honermann 2017-06-19 2017-06   Evolution  
P0697R0 Clarifying the status of feature test macros Herb Sutter 2017-06-18 2017-06   Evolution, WG21  
P0698R0 C++ Standard Library Issues to be moved in Toronto Marshal Clow 2017-06-19 2017-06      
P0700R0 Alternatives to operator dot Bjarne Stroustrup 2017-02-21 2017-06   Evolution  
P0701R0 Back to the std2::future Bryce Adelstein Lelbach 2017-06-18 2017-06   Concurrency  
P0702R0 Language support for Constructor Template Argument Deduction Mike Spertus 2017-06-18 2017-06   Evolution, Core  
P0703R0 Networking TS Issues David Sankel 2017-06-18 2017-06   Library Evolution  
P0704R0 Fixing const-qualified pointers to members Barry Revzin 2017-06-18 2017-06   Evolution  
P0705R0 Implicit and Explicit conversions Tony Van Eerd 2017-06-19 2017-06   Library Evolution  
P0706R0 Efficient headers for modules (or not) S. Davis Herring 2017-06-18 2017-06   Evolution  
P0707R0 Metaclasses Herb Sutter 2017-06-18 2017-06   SG7  
P0710R0 Core Language Working Group "ready" Issues for the July, 2017 (Toronto) meeting William M. Miller 2017-06-19 2017-06      
P0711R0 Core Language Working Group "tentatively ready" Issues for the July, 2017 (Toronto) meeting William M. Miller 2017-06-19 2017-06      
P0712R0 Implementing language support for compile-time programming Andrew Sutton, Herb Sutter 2017-06-18 2017-06   SG7  
P0713R0 Identifying Module Source Code Daveed Vandevoorde 2017-06-18 2017-06   Evolution  
P0716R0 Unified concept definition syntax Richard Smith, Andrew Sutton 2017-06-19 2017-06   Evolution  
P0717R0 Semantic constraint matching for concepts Richard Smith, Andrew Sutton 2017-06-19 2017-06   Evolution  
P0718R0 Revising atomic_shared_ptr for C++20 Alisdair Meredith 2017-06-19 2017-06   Concurrency, Library Evolution, Library  
P0721R0 Exporting Using Declarations Nathan Sidwell 2017-06-20 2017-06   Evolution, Core  
P0722R0 Controlling destruction in delete expressions Richard Smith 2017-06-20 2017-06   Evolution  
P0723R0 Response to "Clarifying the status of feature test macros" Clark Nelson, John Spicer 2017-06-22 2017-06   Evolution,WG21