Standardization

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...

2017-03 post-Kona mailing available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
SD-1 2017 PL22.16/WG21 document list John Spicer 2017-02-08 2017-02      
2017-03 post-Kona
N4643 National Body Comments for PDTS 19216, C++ Extensions for Networking Barry Hedquist 2017-02-17 2017-03   WG21  
N4644 National Body Comments for PDTS 21425, C++ Extensions for Ranges Barry Hedquist 2017-02-17 2017-03   WG21  
N4645 WG21 Telecon Minutes Jonathan Wakely 2017-02-21 2017-03   WG21  
N4646 Withdrawn     2017-03   WG21  
N4647 Working Draft, Extensions to C++ for Modules Gabriel Dos Reis 2017-03-19 2017-03 N4637 WG21  
N4648 Editor's Report for the Module TS Gabriel Dos Reis 2017-03-20 2017-03   WG21  
N4649 Working Draft, Technical Specification on C++ Extensions for Coroutines Gor Nishanov 2017-03-03 2017-03 N4628 WG21  
N4650 Editor's report for the Coroutines TS Gor Nishanov 2017-03-02 2017-03   WG21  
N4651 Working Draft, C++ Extensions for Ranges Eric Niebler, Casey Carter 2017-03-15 2017-03   WG21  
N4652 Editor's Report for the Ranges TS Casey Carter 2017-03-15 2017-03   WG21  
N4653 2017-02 Kona Record of Discussion ISO/IEC Jonathan Wakely 2017-03-14 2017-03   WG21  
N4654 WG21 2017-02 Kona Minutes Jonathan Wakely 2017-03-14 2017-03   WG21  
N4655 PL22.16 2017-02 Kona Minutes Jonathan Wakely 2017-03-14 2017-03   WG21  
N4656 Working Draft, C++ Extensions for Networking Jonathan Wakely 2017-03-17 2017-03 N4626 WG21  
N4657 Networking TS - Editor's Report Jonathan Wakely 2017-03-17 2017-03   WG21  
N4658 Alternative accommodation (student residence) for the 2017-07 Toronto WG21 Meeting Botond Ballo 2017-03-17 2017-03   WG21  
N4659 Working Draft, Standard for Programming Language C++ Note: Richard Smith 2017-03-21 2017-03 N4640 WG21  
N4660 C++17 DIS Ballot Document Richard Smith 2017-03-21 2017-03   WG21  
N4661 Editor's Report -- Working Draft, Standard for Programming Language C++ Richard Smith 2017-03-21 2017-03   WG21  
P0019R5 Atomic View H. Carter Edwards, Hans Boehm, Olivier Giroux, James Reus 2017-03-06 2017-03 P0019R4 Library Evolution  
P0020R5 Floating Point Atomic H. Carter Edwards, Hans Boehm, Olivier Giroux, JF Bastien, James Reus 2017-03-06 2017-03 P0020R4 Library Evolution  
P0156R2 Variadic lock_guard (Rev. 4) Mike Spertus 2017-03-03 2017-03 P0156R1 Library Adopted 2017-03
P0237r6 Wording for fundamental bit manipulation utilities Vincent Reverdy, Robert J. Brunner 2017-03-20 2017-03 P0237R5 Library Evolution, SG14, Numerics  
P0250R3 Wording improvements for initialization and thread ids (CWG 2046, 1784) Hans Boehm 2017-03-02 2017-03 P0250R2 Core Adopted 2017-03
P0261R3 C++ Distributed Counters Lawrence Crowl 2017-03-13 2017-03 P0261R2 Concurrency  
P0267R4 A Proposal to Add 2D Graphics Rendering and Display to C++, Michael McLaughlin, Herb Sutter, Jason Zink 2017-03-20 2017-03 P0267R3 Library Evolution  
P0270R3 Removing C dependencies from signal handler wording Hans Boehm 2017-02-02 2017-03 P0270R2 Core, Library Adopted 2017-03
P0290R2 apply() for synchronized_value<T> Anthony Williams 2017-03-02 2017-03 P0290R1 Concurrency  
P0298R3 A byte type definition Neil MacIntosh 2017-03-03 2017-03 P0298R2 Library Evolution Adopted 2017-03
P0409R2 Allow lambda capture [=, this] Thomas Koeppe 2017-03-04 2017-03 P0409R1 Core  
P0430R2 File system library on non-POSIX-like operating systems Jason Liu, Hubert Tong 2017-02-28 2017-03 P0430R1 Library, Library Evolution Adopted 2017-03
P0433R2 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-03-03 2017-03 P0433R1 Library Evolution, Library Adopted 2017-03
P0447R2 Introduction of std::colony to the standard library Patrice Roy, Guy Davidson, Matthew Bentley 2017-02-11 2017-03 P0447R1 Library Evolution, SG14  
P0452R1 Unifying <numeric> Parallel Algorithms Bryce Adelstein Lelbach 2017-03-01 2017-03 P0452R0 Concurrency, Library Evolution, Library Adopted 2017-03
P0464R2 Revisiting the meaning of "foo(ConceptName,ConceptName)" Tony Van Eerd, Botond Ballo 2017-03-12 2017-03 P0464R1 Evolution  
P0467R2 Iterator Concerns for Parallel Algorithms Alisdair Meredith 2017-03-02 2017-03 P0467R1 Concurrency, Library Adopted 2017-03
P0492R2 Proposed Resolution of C++17 National Body Comments for Filesystem Beman Dawes, S. Davis Herring, Nicolai Josuttis, Jason Liu, Billy O'Neal, P.J. Plauger, Jonathan Wakely 2017-03-03 2017-03 P0492R1 Library Adopted 2017-03
P0501R1 C++ Module TS Issues List Gabriel Dos Reis 2017-03-19 2017-03 P0501R0 Core, Evolution  
P0511R1 Deduction guide for std::array Zhihao Yuan 2017-02-24 2017-03 P0511R0 Library Evolution  
P0518R1 Allowing copies as arguments to function objects given to parallel algorithms in response to CH11 David S. Hollman, Jonathan Liffander, Michael Wong, Detlef Vollmann 2017-03-01 2017-03 P0518R0 Library Evolution Adopted 2017-03
P0523R1 Wording for CH 10: Complexity of parallel algorithms Detlef Vollmann 2017-03-01 2017-03 P0523R0 Concurrency, Library Adopted 2017-03
P0548R1 common_type and duration Walter E. Brown 2017-03-03 2017-03 P0548R0 Library Adopted 2017-03
P0553R1 Bit Operations Jens Maurer 2017-03-19 2017-03 P0553R0 Library Evolution  
P0556R1 Integral power-of-2 operations Jens Maurer 2017-03-19 2017-03 P0556R0 Library Evolution  
P0558R1 Resolving atomic<T> named base class inconsistencies Billy O'Neal 2017-03-03 2017-03 P0558R0 Concurrency, Library Adopted 2017-03
P0574R1 Algorithm Complexity Constraints and Parallel Overloads Anthony Williams 2017-03-02 2017-03 P0574R0 Concurrency, Library Adopted 2017-03
P0575R1 Core Language Working Group "ready" Issues for the February, 2016 (Kona) meeting William M. Miller 2017-03-03 2017-03 P0575R0 Core Adopted 2017-03
P0575R2 Core Language Working Group "ready" Issues for the February, 2016 (Kona) meeting William M. Miller 2017-03-03 2017-03 P0575R1 Core  
P0576R1 Core Language Working Group "tentatively ready" Issues for the February, 2016 (Kona) meeting William M. Miller 2017-03-03 2017-03 P0576R0 Core Adopted 2017-03
P0582R0 Modules: Contexts of template instantiations and name lookup Gabriel Dos Reis 2017-03-02 2017-03   Core, Evolution Adopted 2017-03
P0591R1 Utility functions to implement uses-allocator construction Pablo Halpern 2017-03-09 2017-03 P0591R0 Library Evolution  
P0599R1 US140: noxecept for hash functions Nicolai Josutti 2017-03-02 2017-03 P0599R0 Library Adopted 2017-03
P0602R0 variant and optional should propagate copy/move triviality Zhihao Yuan 2017-02-04 2017-03   Library Evolution  
P0603R0 safe memcpy: A simpler implementation primitive for seqlock and friends Andrew Hunter 2017-03-17 2017-03   Concurrency  
P0604R0 Resolving GB 55, US 84, US 85, US 86 Daniel Krugler, Pablo Halpern, Jonathan Wakely 2017-03-03 2017-03   Library Evolution, Library Adopted 2017-03
P0606R0 Concepts Are Ready Gabriel Dos Reis 2017-02-25 2017-03   Evolution  
P0607R0 Inline Variables for the Standard Library Daniel Krugler 2017-02-27 2017-03   Library Evolution, Library Adopted 2017-03
P0608R0 A sane variant converting constructor (LEWG 227) Zhihao Yuan 2017-03-02 2017-03   Library Evolution, Library  
P0609R0 Attributes for Structured Bindings Aaron Ballman 2017-03-04 2017-03   Evolution  
P0610R0 C++ Standard Library "Review" Issues Resolved in Kona Marshal Clow 2017-03-04 2017-03   Library Adopted 2017-03
P0611R0 More Better Operators Lawrence Crowl 2017-03-18 2017-03   Evolution  
P0612R0 NB comment CH 2: volatile Jens Maurer 2017-02-27 2017-03   WG21 Adopted 2017-03
P0613R0 NB comment GB15: Resolution of Core Issue 2011 William M. Miller 2017-02-27 2017-03   WG21 Adopted 2017-03
P0614R0 Range-based for statements with initializer Thomas Köppe 2017-03-18 2017-03   Evolution, Core  
P0615R0 Renaming for structured bindings Jens Maurer 2017-03-01 2017-03   WG21 Adopted 2017-03
P0618R0 Deprecating <codecvt> Alisdair Meredith 2017-03-02 2017-03   Library Adopted 2017-03
P0619R0 Reviewing Deprecated Facilities of C++17 for C++20 Alisdair Meredith, Stephan T. Lavavej, Tomasz Kamiński 2017-03-17 2017-03   Evolution  
P0620R0 Drafting for class template argument deduction issues Jason Merrill 2017-03-02 2017-03   Core Adopted 2017-03
P0621R0 Ready Ranges TS Issues Casey Carter 2017-03-02 2017-03   Library  
P0622R0 Additional Core Language Working Group "ready" and "tentatively ready" Issues for the February, 2017 (Kona) meeting William M. Miller 2017-03-03 2017-03   Core Adopted 2017-03
P0623R0 Final C++17 Parallel Algorithms Fixes Bryce Adelstein Lelbach, Alisdair Meredith, Anthony Williams 2017-03-03 2017-03   Concurrency, Library Evolution, Library Adopted 2017-03
P0624R0 Default constructible stateless lambdas Louis Dionne 2017-03-20 2017-03   Evolution  
P0625R0 C++ Standard Library Issues Resolved Directly In Kona Marshal Clow 2017-03-03 2017-03   Library  
P0627R0 Attribute to mark unreachable code Melissa Mears 2017-03-14 2017-03   Evolution  
P0629R0 Module interface vs. imiplementation Gabriel Dos Reis, Jason Merrill, Nathan Sidwell 2017-03-17 2017-03   Evolution  
P0630R0 To boldly suggest a pub crawl for C++ Toronto Duncan P.N. Exon Smith 2017-03-19 2017-03   WG21  
P0631R0 Math Constants Lev Minkovsky 2017-03-19 2017-03   Library Evolution, Numerics  
P0632R0 Proposal of [[uninitialized]] attribute Jonathan Müller 2017-01-19 2017-03   Evolution  
P0633R0 Exploring the design space of metaprogramming and reflection Daveed Vandevoorde, Louis Dionne 2017-03-20 2017-03   Reflection  
P0634R0 Down with `typename`! Daveed Vandevoorde 2017-03-05 2017-03   Evolution  

 

C++::London talk: A polymorphic value-type for C++

On 25th January at CodeNode, London, Jonathan Coe presented polymorphic_value<T> to the C++::London meetup group.

The class template polymorphic_value is proposed for addition to the C++ Standard Library. The class template, polymorphic_value, confers value-like semantics on a free-store allocated object. A polymorphic_value<T> may hold an object of a class publicly derived from T, and copying the polymorphic_value will copy the object of the derived type.

A polymorphic value-type for C++ (Video)

About the presenter:

Jonathan is a mathematical developer using modern C++ and Python. He has worked in academia and the financial and energy industries. He's been a participant in the C++ standards committee since 2014.

2017-02 pre-Kona mailing available

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

NOTE: Some of these papers have already been posted via this blog. This is the complete list including ones not previously publicized.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
SD-1 2017 PL22.16/WG21 document list John Spicer 2017-02-08 2017-02      
2017-02 pre-Kona
N4632 PL22.16/WG21 draft agenda: 27 Feb - 4 Mar 2017, Kona, HI, US Clark Nelson 2016-12-13 2017-02   WG21  
N4633 2017-11 Albuquerque WG21 meeting information Carter Edwards 2017-01-09 2017-02   WG21  
N4634 PL22.16 2016-11 Issaquah Minutes (final) Jonathan Wakely 2017-01-18 2017-02   WG21  
N4635 Pre-Kona WG21 Telecon Agenda Herb Sutter 2017-01-23 2017-02   WG21  
N4636 2017-07-10-15 ISO WG21 C++ Standard Meeting in Toronto Michael Wong, Botond Ballo, JF Bastien, Hubert Tong, Patrice Roy, Tony Van Eerd, Duncan Exon Smith 2017-02-06 2017-02   WG21  
N4637 Working Draft, Extensions to C++ for Modules Gabriel Dos Reis 2017-02-03 2017-02 N4610 WG21  
N4638 Editor's Report for the Module TS Gabriel Dos Reis 2017-02-03 2017-02   WG21  
N4639 Editor's Report -- Working Draft, Standard for Programming Language C++ Richard Smith 2017-02-06 2017-02   WG21  
N4640 Working Draft, Standard for Programming Language C++ Richard Smith 2017-02-06 2017-02 N4618 WG21  
N4641 Working Draft, C++ extensions for Concepts Andrew Sutton 2017-02-05 2017-02 N4630 WG21  
N4642 Editor's report for the Concepts TS Andrew Sutton 2017-02-05 2017-02   WG21  
P0045R1 Qualified std::function signatures David Krauss 2017-02-06 2017-02 P0045R0 Library Evolution  
P0052R3 Generic Scope Guard and RAII Wrapper for the Standard Library Peter Sommerlad, Andrew L. Sandoval 2017-02-06 2017-02 P0052R2 Library  
P0059R3 A proposal to add a ring span to the standard library Guy Davidson, Arthur O'Dwyer 2017-02-05 2017-02 P0059R2 SG14, Library Evolution  
P0082R2 For Loop Exit Strategies (Revision 3) Alan Talbot 2017-02-06 2017-02 P0082R1 Evolution  
P0091R4 Template argument deduction for class templates (Rev. 7) Mike Spertus, Faisal Vali, Richard Smith 2016-06-24 2017-02 P0091R3 Evolution  
P0103R1 Overflow-Detecting and Double-Wide Arithmetic Operations Lawrence Crowl 2017-02-05 2017-02 P0103R0 Numerics  
P0104R1 Multi-Word Integer Operations and Types Lawrence Crowl 2017-02-05 2017-02 P0104R0 Numerics  
P0105R1 Rounding and Overflow in C++ Lawrence Crowl 2017-02-05 2017-02 P0105R0 Numerics  
P0122R4 span: bounds-safe views for sequences of objects Neil MacIntosh 2017-02-06 2017-02 P0122R3 Library  
P0165R4 C++ Standard Library Issues to be moved in Issaquah Marshall Clow 2017-02-06 2017-02 P0165R3 Library  
P0190R3 Proposal for New memory order consume Definition Paul E. McKenney, Michael Wong, Hans Boehm, Jens Maurer, Jeffrey Yasskin, JF Bastien 2017-02-05 2017-02 P0190R2 Concurrency  
P0194R3 Static reflection Matúš Chochlík, Axel Naumann, David Sankel 2017-02-06 2017-02 P0194R2 Reflection, Evolution  
P0214R3 Data-Parallel Vector Types & Operations Matthias Kretz 2017-02-06 2017-02 P0214R2 Library Evolution  
P0233R3 Hazard Pointers: Safe Reclamation for Optimistic Concurrency Maged M. Michael, Michael Wong, Paul McKenney, Arthur O'Dwyer, David Hollman 2017-02-06 2017-02 P0233R2 Concurrency, SG14, Library Evolution  
P0237R5 Wording for fundamental bit manipulation utilities Vincent Reverdy, Robert J. Brunner 2017-02-06 2017-02 P0237R4 Library Evolution, SG14, Numerics  
P0260R1 C++ Concurrent Queues Lawrence Crowl 2017-02-05 2017-02 P0260R0 Concurrency  
P0261R2 C++ Distributed Counters Lawrence Crowl 2017-02-05 2017-02 P0261R1 Concurrency  
P0267R3 A Proposal to Add 2D Graphics Rendering and Display to C++, Michael McLaughlin, Herb Sutter, Jason Zink 2017-02-06 2017-02 P0267R2 Library Evolution  
P0275R1 A Proposal to add Classes and Functions Required for Dynamic Library Load Antony Polukhin 2017-01-28 2017-02 P0275R0 Library Evolution  
P0288R1 A polymorphic wrapper for all Callable objects David Krauss 2017-02-06 2017-02 P0288R0 Library Evolution  
P0316R0 allocate_unique and allocator_delete Miro Knejp 2017-02-01 2017-02   Library Evolution  
P0339R2 polymorphic_allocator<void> as a vocabulary type Pablo Halpern, Dietmar Kühl 2017-02-04 2017-02 P0339R1 Library Evolution  
P0352R1 Smart References through Delegation (2nd revision) Hubert Tong, Faisal Vali 2017-02-06 2017-02 P0352R0 Evolution  
P0355R2 Extending <chrono> to Calendars and Time Zones Howard Hinnant 2017-02-04 2017-02 P0355R1 Library Evolution  
P0385R2 Static reflection: Rationale, design and evolution Matúš Chochlík, Axel Naumann, David Sankel 2017-02-06 2017-02 P0385R1 Reflection, Evolution  
P0408R1 Efficient Access to basic stringbuf's Buffer Peter Sommerlad 2017-02-03 2017-02 P0408R0 Library Evolution, Library  
P0433R1 Toward a resolution of US7 and US14: Integrating template deduction for class templates into the standard library Mike Spertus, Walter E. Brown 2017-02-06 2017-02 P0433R0 Library Evolution, Library  
P0443R1 A Unified Executors Proposal for C++ Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown 2017-01-06 2017-02 P0443R0 Concurrency  
P0447R1 Introduction of std::colony to the standard library Patrice Roy, Guy Davidson, Matthew Bentley 2016-11-21 2017-02 P0443R0 Library Evolution, SG14  
P0461R1 Proposed RCU C++ API Paul E. McKenney, Maged Michael, Michael Wong, Isabella Muerte, Arthur O'Dwyer, David Hollman 2017-02-05 2017-02 P0461R0 Concurrency  
P0462R1 Marking memory order consume Dependency Chains Paul E. McKenney, Torvald Riegel, Jeff Preshing, Hans Boehm, Clark Nelson, Olivier Giroux, Lawrence Crowl, JF Bastien, Micheal Wong 2017-02-05 2017-02 P0462R0 Concurrency  
P0467R1 Iterator Concerns for Parallel Algorithms Alisdair Meredith 2016-11-10 2017-02 P0467R0 Concurrency, Library  
P0479R1 Attributes for Likely and Unlikely Branches Clay Trychta 2017-02-05 2017-02 P0479R0 Evolution, SG14  
P0492R1 Proposed Resolution of C++17 National Body Comments for Filesystem Beman Dawes, S. Davis Herring, Nicolai Josuttis, Jason Liu, Billy O'Neal, P.J. Plauger, Jonathan Wakely 2017-02-06 2017-02 P0492R0 Library  
P0501R0 C++ Module TS Issues List Gabriel Dos Reis 2017-02-06 2017-02   Core  
P0506R0 use string_view for library function parameters instead of const string & / const char * Peter Sommerlad 2017-02-04 2017-02   Library, Library Evolution  
P0515R0 Consistent comparison Herb Sutter 2017-02-05 2017-02   Evolution, Library Evolution  
P0518R0 Allowing copies as arguments to function objects given to parallel algorithms in response to CH11 David S. Hollman, Jonathan Liffander, Michael Wong, Detlef Vollmann 2017-01-31 2017-02   Concurrency  
P0527R0 Implicitly move from rvalue references in return statements David Stone 2017-02-05 2017-02   Evolution  
P0532R0 On std::launder() Nico Josuttis 2017-01-14 2017-02   Core, Evolution, Library Evolution, Library  
P0533R0 constexpr for <cmath> and <cstdlib> Edward J. Rosten / Oliver J. Rosten 2017-01-25 2017-02   SG6, Library Evolution  
P0534R0 call/cc (call-with-current-continuation): A low-level API for stackful context switching Oliver Kowalke 2017-02-04 2017-02   Concurrency, Library Evolution  
P0535R0 Generalized Unpacking and Parameter Pack Slicing Matthew Woehlke 2017-02-03 2017-02   Evolution  
P0536R0 Implicit Return Type and Allowing Anonymous Types as Return Values Matthew Woehlke 2017-02-03 2017-02   Evolution  
P0537R0 Allow Attributes on Template Explicit Instantiations Matthew Woehlke 2016-08-23 2017-02   Evolution  
P0538R0 A Qualified Replacement for #pragma once Matthew Woehlke 2016-10-27 2017-02   Evolution  
P0539R0 Wide Integer Class Antony Polukhin 2017-01-28 2017-02   Numerics  
P0540R0 A Proposal to Add split/join of string/string_view to the Standard Library Laurent Navarro 2017-01-21 2017-02   Library Evolution  
P0541R0 Post-Increment on Input and Output Iterators Eric Niebler 2017-02-02 2017-02   Library Evolution  
P0542R0 Support for contract based programming in C++ J. Daniel Garcia 2017-02-05 2017-02   Evolution, Core  
P0543R0 Saturation arithmetic Jens Maurer 2017-01-03 2017-02   Numerics, Library Evolution  
P0544R0 User Injection of Filesystems Titus Winters, Geoffrey Romer 2017-02-01 2017-02   Library Evolution  
P0545R0 Supporting offsetof for Stable-layout Classes Andrey Semashev 2016-10-23 2017-02   Library Evolution, Library  
P0546R0 Span - foundation for the future Carter Edwards, Bryce Lelbach 2017-01-26 2017-02   Library Evolution  
P0547R0 Assorted Object Concept Fixes Eric Niebler 2017-02-02 2017-02   Library  
P0548R0 common_type and duration Walter E. Brown 2017-02-01 2017-02   Library  
P0549R0 Adjuncts to std::hash Walter E. Brown 2017-02-01 2017-02   Library Evolution  
P0550R0 Transformation Trait uncvref Walter E. Brown 2017-02-01 2017-02   Library Evolution  
P0551R0 Thou Shalt Not Specialize std Function Templates! Walter E. Brown 2017-02-01 2017-02   Library Evolution  
P0552R0 enable_if vs. requires Walter E. Brown 2017-02-01 2017-02   WG21  
P0553R0 Bit Operations Jens Maurer 2017-02-05 2017-02   Numerics, Library Evolution  
P0554R0 Composition of Arithmetic Types John McFarlane 2017-02-06 2017-02   Numerics, SG14  
P0555R0 string_view for source_location Axel Naumann 2017-01-30 2017-02   Library Evolution  
P0556R0 Integral power-of-2 operations Jens Maurer 2017-02-05 2017-02   Numerics, Library Evolution  
P0557R0 Concepts: The Future of Generic Programming Bjarne Stroustrup 2017-01-31 2017-02   WG21  
P0558R0 Resolving atomic<T> named base class inconsistencies Billy O'Neal 2017-02-03 2017-02   Concurrency, Library  
P0559R0 Operating principles for evolving C++ JC van Winkel, Jose Daniel Garcia, Ville Voutilainen, Roger Orr, Michael Wong, Sylvain Bonnal 2017-01-31 2017-02   WG21  
P0560R0 Class template deduction guides for "diamond operators" Miro Knejp 2017-02-01 2017-02   Library Evolution  
P0561R0 RAII Interface for Deferred Reclamation Geoffrey Romer 2017-02-03 2017-02   Concurrency  
P0562R0 Initialization List Symmetry Alan Talbot 2017-02-05 2017-02   Evolution  
P0563R0 Vector Front Operations Alan Talbot 2017-02-05 2017-02   Library Evolution  
P0564R0 Wording for three-way comparisons Jens Maurer 2017-02-06 2017-02   Evolution  
P0565R0 Prefix for operator as a pack generator and postfix operator[] for pack indexing Bengt Gustafsson 2017-02-02 2017-02   Evolution  
P0566R0 Proposed Wording for Concurrent Data Structures: Hazard Pointer and Read-Copy-Update (RCU) Michael Wong, Maged M. Michael, Paul McKenney 2017-02-06 2017-02   Concurrency, SG14, Library Evolution, Library  
P0567R0 Asynchronous managed pointer for Heterogeneous computing Gordon Brown, Ruyman Reyes, Michael Wong 2017-01-30 2017-02   Concurrency, SG14  
P0568R0 Towards Better Embedded programming support for C++ and an update on the status of SG14, two years later.Towards Better Embedded programming support for C++ and an update on the status of SG14, two years later Michael Wong 2017-02-06 2017-02   SG14, WG21  
P0569R0 SG5: Transactional Memory (TM) Meeting Minutes 2016/07/18-2016/10/10 Michael Wong 2017-02-06 2017-02   SG5  
P0570R0 SG14: Low Latency Meeting Minutes 2016/12/14-2017/02/01 Michael Wong 2017-02-06 2017-02   SG14  
P0571R0 Type Requirements for <numeric> Algorithms Bryce Adelstein Lelbach 2017-02-02 2017-02   Concurrency, Library Evolution, Library  
P0572R0 bit_sizeof and bit_offsetof Alex Christensen 2017-02-03 2017-02   Evolution  
P0573R0 Abbreviated Lambdas for Fun and Profit Barry Revzin 2017-02-03 2017-02   Evolution  
P0574R0 Algorithm Complexity Constraints and Parallel Overloads Anthony Williams 2017-02-04 2017-02   Concurrency, Library  
P0575R0 Core Language Working Group "ready" Issues for the February, 2016 (Kona) meeting William M. Miller 2017-02-06 2017-02   Core  
P0576R0 Core Language Working Group "tentatively ready" Issues for the February, 2016 (Kona) meeting William M. Miller 2017-02-06 2017-02   Core  
P0577R0 Keep that Temporary! Zhihao Yuan 2017-02-02 2017-02   Evolution  
P0578R0 Static Reflection in a Nutshell Matúš Chochlík, Axel Naumann, David Sankel 2017-02-04 2017-02   Evolution, Library Evolution  
P0579R0 Constexpr for <experimental/ranges/iterator> Casey Carter 2017-01-23 2017-02   Library  
P0581R0 Standard Library Modules Gabriel Dos Reis, Billy O'Neal, Stephan T. Lavavej, Jonathan Wakely 2017-02-06 2017-02   Evolution, Library Evolution  
P0583R0 std::byte is the correct name Gabriel Dos Reis 2017-02-04 2017-02   WG21  
P0587R0 Concepts TS revisited Richard Smith, James Dennett 2017-02-05 2017-02   Evolution  
P0588R0 Simplifying implicit lambda capture Richard Smith, Daveed Vandevoorde 2017-02-05 2017-02   Evolution  
P0589R0 Tuple-based for loops Andrew Sutton 2017-02-04 2017-02   Evolution  
P0590R0 A design static reflection Andrew Sutton, Herb Sutter 2017-02-05 2017-02   Reflection  
P0591R0 Utility functions to implement uses-allocator construction Pablo Halpern 2017-02-05 2017-02   Library Evolution  
P0592R0 To boldly suggest an overall plan for C++20 Ville Voutilainen 2017-02-05 2017-02   WG21  
P0593R0 What to do with buffers that are not arrays, and undefined behavior thereof? Ville Voutilainen 2017-02-05 2017-02   WG21  
P0594R0 Relative comparisons and std::less<T*> Ville Voutilainen 2017-02-05 2017-02   WG21  
P0595R0 The "constexpr" Operator Daveed Vandevoorde 2017-02-02 2017-02   Evolution  
P0596R0 std::constexpr_trace and std::constexpr_assert Daveed Vandevoorde 2017-02-02 2017-02   Evolution  
P0597R0 std::constexpr_vector<T> Daveed Vandevoorde 2017-02-02 2017-02   Evolution  
P0598R0 Reflect Through Values Instead of Types Daveed Vandevoorde 2017-02-02 2017-02   Reflection, Evolution  
P0599R0 US140: noxecept for hash functions Nicolai Josutti 2017-01-14 2017-02   Library  
P0600R0 applying [[nodiscard]] for C++17 Nicolai Josutti 2017-02-06 2017-02   Library Evolution, Library  
P0601R0 Establishing a direction for SIMD-enabled functions Clark Nelson 2017-02-06 2017-02   Concurrency, Evolution  

 

C++17 Features—Bartlomiej Filipek

An extensive list of the future standard changes:

C++17 Features

by Bartlomiej Filipek

From the article:

In my last C++ summary (for 2016) I wrote that the draft for C++17 is the most important thing that happened. I’ve put a list of features of the new standard, and today I’d like to expand the topic so we can learn some more details.

C++ Status at the end of 2016—Bartlomiej Filipek

What happened in 2016 in the C++ world?

C++ Status at the end of 2016

by Bartlomiej Filipek

From the article:

Let’s now focus on the main topic from this year.During the ISO meeting in Oulu (June), the Committee accepted the draft for C++17. This is definitely not a minor release since a lot of features were added!