Standardization

Results summary: C++ Foundation Developer Survey “Lite”, 2018-02

From last Monday through this Monday, we ran our first global C++ developer survey.

Thank you to the over 3,200 of you who responded. As promised, here is a public summary of the results:

Results summary: C++ Developer Survey "Lite": 2018-02

This summary has now been forwarded to the C++ standards committee, along with the full text of your write-in answers (over 300 pages!). Your feedback will be very helpful, and has already started to be referred to by standards participants as we prepare for next week's ISO meeting in Jacksonville, FL, USA.

Thank you again for your participation. It is very helpful, and based on the success of this survey we plan to run it again in the future from time to time. When we do, it will be announced here on isocpp.org.

 

Note: Due to a SurveyMonkey bug, the word clouds showing popular keywords for the five open-ended questions cover about half the responses, which fortunately is still a large sample. They're working on a fix to include all the responses in the word clouds.

New: C++ Foundation Developer Survey “Lite”, 2018-02

cpp_logo.pngToday the Standard C++ Foundation opened its first-ever global C++ developer survey. As the name suggests, it's a one-pager:

C++ Developer Survey "Lite": 2018-02

Please take 10 minutes or so to participate! A summary of the results, including aggregated highlights of common answers in the write-in responses, will be posted publicly here on isocpp.org and shared with the C++ standardization committee to help inform C++ evolution.

If this one is successful we plan to do it again, perhaps annually or quarterly.

Thank you for participating and helping to inform our committee and community.

Batteries not included: what should go in the C++ standard library?

With the next standardisation meeting coming up, now is a good time to consider what the limits of the standard library should be. 

Batteries not included: what should go in the C++ standard library?

By Guy Davidson

From the article:

About forty Christmases ago I was absolutely delighted to open a slot car racing set from my parents. I feverishly set everything up, created a track reminiscent of Brands Hatch, and went to plug everything in, only to discover that I needed batteries to operate the controllers. This was Great Britain in the 1970s...

2018-02 pre-Jacksonville mailing available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
SD-1 2018 PL22.16/WG21 document list Hal Finkel 2018-02-12 2018-02
2018-02 pre-Jacksonville
N4715 2018-11 San Diego Meeting Information Marshall Clow 2018-02-01 2018-02 WG21
N4716 PL22.16/WG21 draft agenda: 12-17 March 2018, Jacksonville, FL, US John Spicer 2018-01-12 2018-02 WG21
N4717 WG21 telecon meeting: Pre-Jacksonville Herb Sutter 2018-01-10 2018-02 WG21
N4718 WG21 telecon meeting: Modules TS publication Herb Sutter 2018-01-18 2018-02 WG21
N4719 Programming Languages — Extensions to C++ for Modules Gabriel Dos Reis 2018-01-29 2018-02 WG21
N4720 Working Draft, Extensions to C++ for Modules Gabriel Dos Reis 2018-01-29 2018-02 N4689 WG21
N4721 Editor’s Report for the Module TS Gabriel Dos Reis 2018-02-12 2018-02 WG21
N4722 Responses to SC22 N5250, ISO/IEC PDTS 21544, C++ Extensions for Modules Barry Hedquist 2018-02-04 2018-02 WG21
N4723 Working Draft, C++ Extensions for Coroutines Gor Nishanov 2018-02-11 2018-02 N4680 WG21
N4724 Editor's report for the Coroutines TS Gor Nishanov 2018-02-06 2018-02 WG21
N4725 Working Draft, Technical Specification for C++ Extensions for Parallelism Version 2 Jared Hoberock 2018-02-12 2018-02 N4706 WG21
N4726 Parallelism TS Editor’s Report Jared Hoberock 2018-02-12 2018-02 WG21
N4727 Working Draft, Standard for Programming Language C++ Richard Smith 2018-02-12 2018-02 N4713 WG21
N4728 Editors' Report -- Programming Languages – C++ Richard Smith, Dawn Perchik, Thomas Köppe 2018-02-12 2018-02 WG21
P0009R5 Polymorphic Multidimensional Array Reference H. Carter Edwards, Daniel Sunderland, David Hollman, Christian Trott, Mauro Bianco, Ben Sander, Athanasios Iliopoulos, John Michopoulos 2018-02-10 2018-02 P0009R4 Library
P0019r6 Atomic View H. Carter Edwards, Hans Boehm, Olivier Giroux, James Reus 2018-02-11 2018-02 P0019R5 Library
P0051R3 C++ generic overload function Vicente J. Botet Escribá 2018-02-12 2018-02 P0051R2 Library Evolution
P0058r8 Working Draft, C++ Extensions for Coroutines Gor Nishanov 2018-02-11 2018-02 P0058R7 WG21
P0122r6 span: bounds-safe views for sequences of objects Neil MacIntosh 2018-02-11 2018-02 P0122R5 Library
P0194R5 Static reflection Matúš Chochlík, Axel Naumann, David Sankel 2018-02-11 2018-02 P0194R4 Core, Library
P0201R3 A polymorphic value-type for C++ Jonathan Coe, Sean Parent 2018-02-12 2018-02 P0201R2 Library
P0214r8 Data-Parallel Vector Types & Operations Matthias Kretz 2018-02-12 2018-02 P0214r7 Library
P0267r7 A Proposal to Add 2D Graphics Rendering and Display to C++ Michael B. McLaughlin, Herb Sutter, Jason Zink, Guy Davidson 2018-02-10 2018-02 P0267r6 Library Evolution
P0275R3 A Proposal to add Classes and Functions Required for Dynamic Library Load Antony Polukhin 2018-02-01 2018-02 P0275R2 Library Evolution
P0323R5 std::expected Vicente Botet, JF Bastien 2018-02-08 2018-02 P0323R4 Library
P0332R2 Relaxed Incomplete Multidimensional Array Type Declaration H. Carter Edwards, Daniel Sunderland, Christian Trott, David Hollman, Mauro Bianco, Athanasios Iliopoulos, John Michopoulos 2018-02-10 2018-02 P0332R1 Library Evolution
P0338R3 C++ generic factories Vicente J. Botet Escribá 2018-02-12 2018-02 P0338R2 Library Evolution
P0355R5 Extending <chrono> to Calendars and Time Zones Howard E. Hinnant, Tomasz Kamiński 2018-02-11 2018-02 P0355R4 Library
P0443R5 A Unified Executors Proposal for C++ Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown 2018-02-12 2018-02 P0443R4 SG1, Library Evolution
P0458R1 Checking for Existence of an Element in Associative Containers Mikhail Maltsev 2018-02-06 2018-02 P0458R0 Library
P0466R1 Layout-compatibility and Pointer-interconvertibility Traits Lisa Lippincott 2018-02-12 2018-02 P0466R0 Core, Library
P0479R4 Proposed wording for likely and unlikely attributes Clay Trychta 2018-02-07 2018-02 P0479R3 SG14, Core
P0482R1 char8_t: A type for UTF-8 characters and strings Tom Honermann 2018-02-12 2018-02 P0482R0 Evolution, Library Evolution
P0501R3 C++ Module TS Issues List Gabriel Dos Reis 2018-01-30 2018-02 P0501R2 WG21
P0514R3 Efficient concurrent waiting for C++20 Olivier Giroux 2018-02-10 2018-02 P0514R2 SG1
P0528R1 The Curious Case of Padding Bits, Featuring Atomic Compare-and-Exchange JF Bastien, Michael Spencer 2018-02-11 2018-02 P0528R0 SG1, Evolution, Core
P0533R0 constexpr for <cmath> and <cstdlib> Edward J. Rosten, Oliver J. Rosten 2018-02-10 2018-02 SG6, Library Evolution
P0539R3 A Proposal to add wide_int Template Class Igor Klevanets, Antony Polukhin 2018-01-31 2018-02 P0539R2 SG6, Library Evolution
P0542R3 Support for contract based programming in C++ G. Dos Reis, J. D. Garcia, J. Lakos, A. Meredith, N. Myers, B. Stroustrup 2018-02-12 2018-02 P0542R2 Evolution, Core
P0546R2 Span - foundation for the future H. Carter Edwards, Daniel Sunderland 2018-02-11 2018-02 P0546R1 Library Evolution
P0549R3 Adjuncts to std::hash Walter E. Brown 2018-02-03 2018-02 P0549R2 Library Evolution, Library
P0551R2 Thou Shalt Not Specialize std Function Templates! Walter E. Brown 2018-02-03 2018-02 P0551R1 Library
P0566R4 Proposed Wording for Concurrent Data Structures: Hazard Pointer and Read-Copy-Update (RCU) Michael Wong, Maged M. Michael, Paul McKenney, Geoffrey Romer, Andrew Hunter, Arthur O'Dwyer, David S. Hollman, JF Bastien, Hans Boehm, David Goldblatt 2018-02-11 2018-02 P0566R3 SG1, SG14, Library Evolution, Library
P0581R1 Standard Library Modules Marshall Clow, Beman Dawes, Gabriel Dos Reis, Stephan T. Lavavej, Billy O’Neal, Bjarne Stroustrup, Jonathan Wakely 2018-02-11 2018-02 P0581R0 Library Evolution
P0593R2 Implicit creation of objects for low-level object manipulation Richard Smith 2018-02-11 2018-02 P0593R1 SG12
P0608R1 A sane variant converting constructor Zhihao Yuan 2017-12-30 2018-02 P0608R0 Library Evolution, Library
P0631R2 Math Constants Lev Minkovsky 2018-02-06 2018-02 P0631R1 SG6, Library Evolution
P0634R2 Down with typename! Nina Ranns, Daveed Vandevoorde 2018-02-10 2018-02 P0634R1 Core
P0645R1 Text Formatting Victor Zverovich 2017-11-10 2018-02 P0645R0 Library Evolution
P0650R2 C++ Monadic interface Vicente J. Botet Escribá 2018-02-11 2018-02 P0650R1 Library Evolution
P0666R1 Revised Latches and Barriers for C++20 Olivier Giroux 2018-02-11 2018-02 P0666R0 SG1
P0668R2 Revising the C++ memory model Hans J. Boehm, Olivier Giroux, Viktor Vafeiades 2018-01-12 2018-02 P0668R1 SG1
P0670R2 Static reflection of functions Matúš Chochlík, Axel Naumann, David Sankel 2017-11-08 2018-02 P0670R1 Evolution, Library Evolution
P0671R1 Parametric Functions Axel Naumann 2018-02-12 2018-02 P0671R0 Evolution
P0684R2 C++ Stability, Velocity, and Deployment Plans Titus Winters 2018-02-10 2018-02 P0684R1 Evolution, Library Evolution
P0690R1 Tearable Atomics JF Bastien, Billy Robert O'Neal III, Andrew Hunter 2018-02-10 2018-02 P0690R0 SG1
P0701R2 Back to the std2::future Part II Bryce Adelstein Lelbach, Michał Dominiak, Hartmut Kaiser 2017-11-15 2018-02 P0701R1 SG1
P0707R3 Metaclasses: Generative C++ Herb Sutter 2018-02-11 2018-02 P0707R2 SG7, Evolution
P0713R1 Identifying Module Source Daveed Vandevoorde 2018-02-08 2018-02 P0713R0 Evolution, Core
P0732R0 Class Types in Non-Type Template Parameters Jeff Snyder 2018-02-11 2018-02 Evolution
P0736R0 Nameless parameters and unutterable specializations Hubert S.K. Tong 2018-02-12 2018-02 Evolution
P0745R0 Concepts in-place syntax Herb Sutter 2018-02-11 2018-02 Evolution
P0750R1 Consume JF Bastien, Paul E. McKenney 2018-02-11 2018-02 P0750R0 SG1
P0761R2 Executors Design Document Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown, Michael Wong 2018-02-12 2018-02 P0761R1 SG1, Library Evolution
P0784R1 Standard containers and constexpr Louis Dionne, Richard Smith, Nina Ranns, Daveed Vandevoorde 2018-02-11 2018-02 P0784R0 Evolution, Library Evolution
P0786R1 ValuedOrError and ValueOrNone types Vicente J. Botet Escribá 2018-02-12 2018-02 P0786R0 Library Evolution
P0788R1 Standard Library Specification in a Concepts and Contracts World Walter E. Brown 2018-02-03 2018-02 P0788R0 Library
P0789R2 Range Adaptors and Utilities Eric Niebler 2018-02-11 2018-02 P0789R1 Library
P0792R1 function_ref: a non-owning reference to a Callable Vittorio Romeo 2017-11-26 2018-02 P0792R0 Library Evolution
P0796R1 Supporting Heterogeneous & Distributed Computing Through Affinity Gordon Brown, Ruyman Reyes, Michael Wong, H. Carter Edwards, Thomas Rodgers, Mark Hoemmen 2018-02-12 2018-02 P0796R0 SG1, SG14, Library Evolution, Library
P0797R1 Handling Concurrent Exceptions with Executors Matti Rintala, Michael Wong, Carter Edwards, Patrice Roy, Gordon Brown, Mark Hoemmen 2018-02-12 2018-02 P0797R0 SG1, SG14, Library Evolution, Library
P0805R1 Comparing Containers Marshall Clow 2018-02-10 2018-02 P0805R0 Library
P0811R0 Well-behaved interpolation for numbers and pointers S. Davis Herring 2018-02-09 2018-02 SG6, Library Evolution
P0814R2 hash_combine() Again Nicolai Josuttis 2018-02-12 2018-02 P0814R1 Library Evolution, Library
P0820R2 Feedback on P0214 Tim Shen 2018-02-06 2018-02 P0820R1 SG1, Library Evolution
P0824R1 Summary of SG14 discussion on <system_error> Arthur O'Dwyer, Charley Bay, Odin Holmes, Michael Wong, Niall Douglas 2018-02-05 2018-02 P0824R0 Library Evolution
P0825R1 A friendlier tuple get Agustín Bergé 2018-02-10 2018-02 P0825R0 Library Evolution
P0828R0 Elastic Integers John McFarlane 2018-02-12 2018-02 SG6, SG14
P0829R1 Freestanding Proposal Ben Craig 2017-10-14 2018-02 P0829R0 SG14, Library Evolution
P0836R0 Introduce Parallelism to the Ranges TS Gordon Brown, Christopher Di Bella, Michael Haidl, Toomas Remmelg, Ruyman Reyes, Michel Steuwer, Michael Wong 2018-02-12 2018-02 SG1, SG9, SG14, Library Evolution
P0843R1 fixed_capacity_vector Gonzalo Brito Gadeschi 2018-02-06 2018-02 P0843R0 Library Evolution
P0847R0 Deducing this Gašper Ažman, Simon Brand, Ben Deane, Barry Revzin 2018-02-12 2018-02 Evolution
P0856R0 Restrict Access Property for mdspan and span David S. Hollman, H. Carter Edwards, Christian Trott 2018-02-12 2018-02 Library Evolution
P0860R0 Atomic Access Property for span and mdspan H. Carter Edwards, Christian Trott, Daniel Sunderland 2018-02-10 2018-02 SG1, Library Evolution
P0863R0 Fixing the partial_order comparison algorithm Jeff Snyder 2018-02-12 2018-02 Library Evolution
P0868R1 Selected RCU Litmus Tests Paul E. McKenney, Alan Stern, Andrew Hunter, Jade Alglave, Luc Maranget 2017-11-20 2018-02 P0868R0 SG1
P0873R1 A plea for a consistent, terse and intuitive declaration syntax Corentin jabot 2017-11-27 2018-02 P0873R0 SG8, Evolution
P0876R0 fibers without scheduler Oliver Kowalke 2018-02-11 2018-02 SG1
P0877R0 A proposal for modular macros Bruno Cardoso Lopes 2018-02-11 2018-02 Evolution
P0878R0 Subobjects copy elision Antony Polukhin 2018-01-08 2018-02 Evolution
P0879R0 Constexpr for swap and swap related functions Antony Polukhin 2017-12-29 2018-02 Library
P0880R0 Numbers interaction Igor Klevanets, Antony Polukhin 2018-01-31 2018-02 SG6, Library Evolution
P0881R0 A Proposal to add stack trace library Alexey Gorgurov, Antony Polukhin 2018-01-23 2018-02 Library Evolution
P0883R0 Fixing Atomic Initialization Nicolai Josuttis 2018-02-12 2018-02 SG1, Library Evolution, Library
P0884R0 Extending the noexcept Policy Nicolai Josuttis 2018-02-10 2018-02 Library Evolution
P0886R0 The assume aligned attribute Timur Doumler 2018-02-12 2018-02 Evolution, Core
P0887R0 The identity metafunction Timur Doumler 2018-02-12 2018-02 Library Evolution, Library
P0888R0 C++ Standard Library Issues to be moved in Jacksonville Marshall Clow 2018-02-12 2018-02 WG21
P0889R0 Ultimate copy elision Antony Polukhin 2018-01-08 2018-02 Evolution
P0891R0 Let strong_order Truly Be a Customization Point! Gašper Ažman 2018-02-10 2018-02 Library
P0892R0 explicit(bool) Barry Revzin, Stephan T. Lavavej 2017-12-11 2018-02 Evolution
P0893R0 Chaining Comparisons Barry Revzin, Herb Sutter 2018-01-14 2018-02 Evolution
P0895R0 Renaming cell<> to latest<> Nicolai Josuttis, Tony van Eerd 2018-01-31 2018-02 Library Evolution, Library
P0896R0 Merging the Ranges TS Eric Niebler 2018-02-12 2018-02 WG21
P0898R0 Standard Library Concepts Casey Carter 2018-02-12 2018-02 Library Evolution, Library
P0899R0 LWG 3016 is Not a Defect Casey Carter 2018-01-30 2018-02 Library
P0900R0 An Ontology for Properties of mdspan David S. Hollman 2018-02-12 2018-02 Library Evolution
P0901R0 Size feedback in operator new Andrew Hunter, Chris Kennelly 2018-02-05 2018-02 Evolution
P0902R0 Move-only iterators Andrew Hunter 2018-02-05 2018-02 Library Evolution
P0903R0 Define basic_string_view(nullptr) and basic_string(nullptr) Ashley Hedberg 2018-02-02 2018-02 Library Evolution, Library
P0904R0 A strawman Future API Lee Howes, Andrii Grynenko, Jay Feldblum 2018-02-11 2018-02 SG1
P0905R0 Symmetry for spaceship Tomasz Kamiński, Herb Sutter, Richard Smith 2018-01-31 2018-02 Evolution, Library Evolution
P0906R0 Improvement suggestions for the Modules TS Jens Maurer 2018-02-11 2018-02 Evolution
P0907R0 Signed Integers are Two’s Complement JF Bastien 2018-02-09 2018-02 SG12. Evolution
P0908R0 Offsetof for Pointers to Members Eddie Kohler 2018-02-11 2018-02 Evolution
P0909R0 Module TS Supports Legacy Integration Steve Downey 2018-02-11 2018-02 Core, Library Evolution
P0911R0 Rebase the Coroutines TS onto the C++17 Standard Gor Nishanov 2018-02-03 2018-02 Core, Library
P0912R0 Merge Coroutines TS into C++20 working draft Gor Nishanov 2018-02-06 2018-02 WG21
P0913R0 Add symmetric coroutine control transfer Gor Nishanov 2018-02-08 2018-02 Evolution
P0914R0 Add parameter preview to coroutine promise constructor Gor Nishanov 2018-02-08 2018-02 Evolution
P0915R0 Concept-constrained auto Vittorio Romeo, John Lakos 2018-02-08 2018-02 Evolution
P0916R0 Naming implementation-defined simd_abi tag types Matthias Kretz 2018-02-12 2018-02 Library Evolution
P0917R0 Making operator?: overloadable Matthias Kretz 2018-02-12 2018-02 Evolution
P0918R0 More simd<> Operations Tim Shen 2018-02-08 2018-02 SG1, Library Evolution
P0919R0 Heterogeneous lookup for unordered containers Mateusz Pusz 2018-02-08 2018-02 Library Evolution, Library
P0921R0 Standard Library Compatibility Promises Titus Winters 2018-02-01 2018-02 Evolution, Library Evolution
P0922R0 LEWG wishlist for EWG Titus Winters 2018-02-10 2018-02 Evolution
P0923R0 Modules: Dependent ADL Nathan Sidwell 2018-02-08 2018-02 Evolution
P0924R0 Modules: Context-Sensitive Keyword Nathan Sidwell 2018-02-09 2018-02 Evolution
P0925R0 Modules: Unqualified Using Declarations Nathan Sidwell 2018-02-08 2018-02 Evolution
P0927R0 Towards A (Lazy) Forwarding Mechanism for C++ James Dennett, Geoff Romer 2018­-02­-08 2018-02 Evolution
P0928R0 Mitigating Speculation Attacks in C++ Geoff Romer, Chandler Carruth 2018-02-09 2018-02 Evolution, Library Evolution
P0929R0 Checking for abstract class types Jens Maurer 2018-02-08 2018-02 Evolution, Core
P0930R0 Semifying Awaitables Lee Howes, Andrii Grynenko, Jay Feldblum 2018-02-11 2018-02 SG1
P0931R0 Structured bindings with polymorphic lambas Aaryaman Sagar 2018-08-14 2018-02 Evolution
P0932R0 Tightening the constraints on std::function Aaryaman Sagar 2018-02-07 2018-02 Library Evolution
P0934R0 A Modest Proposal: Fixing ADL Herb Sutter 2018-02-08 2018-02 Evolution
P0935R0 Eradicating unnecessarily explicit default constructors from the standard library Tim Song 2018-02-12 2018-02 Library
P0936R0 Bind Returned/Initialized Objects to the Lifetime of Parameters Richard Smith, Nicolai Josuttis 2018-02-12 2018-02 Evolution, Core
P0937R0 SG5: Transactional Memory (TM) Meeting Minutes 2017/10/23-2018/1/29 Michael Wong 2018-02-12 2018-02 SG5
P0938R0 SG14: Low Latency Meeting Minutes 2017/12/13-2018/01/10 Michael Wong 2018-02-12 2018-02 SG14
P0939R0 Direction for ISO C++ B. Dawes, H. Hinnant, B. Stroustrup, D. Vandevoorde, M. Wong 2018-02-10 2018-02 WG21
P0940R0 Concurrency TS is growing: Concurrent Utilities and Data Structures Michael Wong, Olivier Giroux 2018-02-12 2018-02 SG1, Library Evolution, Library
P0941R0 Integrating feature-test macros into the C++ WD Clark Nelson 2018-02-09 2018-02 SG10, Evolution, Library Evolution
P0942R0 Introducing a <smart_ptr> header Jens Maurer 2018-02-10 2018-02 Library Evolution, Library
P0943R0 Support C atomics in C++ Hans J. Boehm 2018-02-11 2018-02 SG1, Library Evolution
P0944R0 Contiguous Ranges Casey Carter 2018-02-11 2018-02 Library Evolution
P0945R0 Generalizing alias declarations Richard Smith 2018-02-10 2018-02 Evolution
P0946R0 Towards consistency between <=> and other comparison operators Richard Smith 2018-02-10 2018-02 Evolution
P0947R0 Another take on Modules Richard Smith 2018-02-12 2018-02 Evolution
P0949R0 Adding support for type-based metaprogramming to the standard library Peter Dimov 2018-02-11 2018-02 Library Evolution
P0952R0 A new specification for std::generate_canonical Thomas Köppe, Davis Herring 2018-02-12 2018-02 SG6, Library
P0953R0 constexpr reflexpr Matúš Chochlík, Axel Naumann, David Sankel 2017-02-11 2018-02 SG7
P0954R0 What do we want to do with reflection? Bjarne Stroustrup 2018-02-11 2018-02 SG7, Evolution
P0955R0 Modules and macros Bjarne Stroustrup 2018-02-11 2018-02 Evolution
P0956R0 Answers to concept syntax suggestions Bjarne Stroustrup 2018-02-11 2018-02 Evolution
P0957R0 PFA: A Generic, Extendable and Efficient Solution for Polymorphic Programming Mingxin Wang 2018-02-12 2018-02 SG7, SG9, Evolution, Library Evolution
P0958R0 Networking TS changes to support proposed Executors TS Christopher Kohlhoff 2018-02-11 2018-02 SG1
P0959R0 A Proposal for a Universally Unique Identifier Library Marius Bancila 2018-02-12 2018-02 Library Evolution
P0960R0 Allow initializing aggregates from a parenthesized list of values Ville Voutilainen 2018-02-12 2018-02 Evolution
P0961R0 Relaxing the structured bindings customization point finding rules Ville Voutilainen 2018-02-11 2018-02 Evolution
P0962R0 Relaxing the range-for loop customization point finding rules Ville Voutilainen 2018-02-11 2018-02 Evolution
P0963R0 Structured binding declaration as a condition Zhihao Yuan 2018-02-05 2018-02 Evolution
P0964R0 Finding the right set of traits for simd<T> Matthias Kretz 2018-02-12 2018-02 SG1, Library Evolution
P0965R0 Initializers of objects with automatic and dynamic storage duration have funny inconsistencies Ville Voutilainen 2018-02-12 2018-02 Evolution
P0966R0 string::reserve Should Not Shrink Mark Zeren, Andrew Luo 2018-02-08 2018-02 Library Evolution, Library

Chaining Comparisons: Seeking Information from the Audience—Barry Revzin

A nice example of committee members reaching out to the community for data/input on proposed changes that could have a breaking impact.

Chaining Comparisons: Seeking Information from the Audience

by Barry Revzin

From the article:

At the last standards committee meeting in Albuquerque, the spaceship operator was adopted into the working draft for what will eventually be C++20. I’m already pretty excited about that. But one of the initial “optional” parts of Herb Sutter’s original spaceship proposal (which was dropped early) was to support chaining comparisons...

Red Hat at the ISO C++ Standards Meeting (Nov 2017): Parallelism and Concurrency—Torvald Riegel

Discover how C++ evolves:

Red Hat at the ISO C++ Standards Meeting (November 2017): Parallelism and Concurrency

by Torvald Riegel

From the article:

Several Red Hat engineers attended the JTC1/SC22/WG21 C++ Standards Committee meetings in November 2017. This post focuses on the sessions of SG1, the study group on parallelism and concurrency. SG1 had a full schedule as usual, with Executors, Futures, and deferred reclamation mechanisms (e.g., RCU) being major discussion topics. We also started to track the state of proposals and topics we will need to discuss in a publicly accessible bug tracker...

2017-11 post-Albuquerque mailing available

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

 

2017-11 post-Albuquerque
N4704 WG21 telecon meeting: Pre-Albuquerque Herb Sutter 2017-09-30 2017-11   WG21  
N4705 WG21 2017-10-27 Telecon Minutes Jonathan Wakely 2017-10-30 2017-11   WG21  
N4706 Working Draft, Technical Specification for C++ Extensions for Parallelism Version 2 Jared Hoberock 2017-11-22 2017-11 N4698 WG21  
N4707 Parallelism TS Editor's Report Jared Hoberock 2017-11-22 2017-11   WG21  
N4708 Responses to National Body Comments, ISO/IEC PDTS 19216, C++ Extensions for Networking Barry Hedquist 2017-11-24 2017-11   WG21  
N4709 WG21 2017-11 Albuquerque Minutes Jonathan Wakely 2017-11-26 2017-11   WG21  
N4710 PL22.16 2017-11 Albuquerque Minutes Jonathan Wakely 2017-11-26 2017-11   WG21  
N4711 Working Draft, C ++ Extensions for Networking Jonathan Wakely 2017-11-27 2017-11 N4656 WG21  
N4712 Networking TS - Editor's Report Jonathan Wakely 2017-11-27 2017-11   WG21  
N4713 Working Draft, Standard for Programming Language C++ Richard Smith 2017-11-27 2017-11 N4700 WG21  
N4714 Editors' Report -- Programming Languages -- C++ Richard Smith 2017-11-27 2017-11   WG21  
P0020r6 Floating Point Atomic H. Carter Edwards, Hans Boehm, Olivier Giroux, JF Bastien, James Reus 2017-11-10 2017-11 P0020R5 Library Evolution Adopted 2017-11
P0052r6 Generic Scope Guard and RAII Wrapper for the Standard Library Peter Sommerlad, Andrew L. Sandoval 2017-11-21 2017-11 P0052R5 Library  
P0053r7 C++ Synchronized Buffered Ostream Lawrence Crowl, Peter Sommerlad, Nicolai Josuttis, Pablo Halpern 2017-11-07 2017-11 P0053r6 Library Evolution, Library Adopted 2017-11
P0075R2 Template Library for Parallel For Loops Pablo Halpern, Clark Nelson, Arch D. Robison, Robert Geva 2017-11-09 2017-11 P0075R1 SG1 Adopted 2017-11
P0202R3 Add Constexpr Modifiers to Functions in <algorithm> and <utility> Headers Antony Polukhin 2017-11-09 2017-11 P0202R2 Library Adopted 2017-11
P0214r7 Data-Parallel Vector Types & Operations Matthias Kretz 2017-11-27 2017-11 P0214r6 Library  
P0315R4 Wording for lambdas in unevaluated contexts Louis Dionne, Hubert Tong 2017-11-10 2017-11 P0315R3 Core Adopted 2017-11
P0323R4 std::expected Vicente Botet, JF Bastien 2017-11-26 2017-11 P0323R3 Library  
P0356R3 Simplified partial function application Tomasz Kamiński 2017-11-09 2017-11 P0356R2 Library Evolution  
P0407R2 Allocator-aware basic_stringbuf Peter Sommerlad 2017-11-16 2017-11 P0407R1 Library Evolution, Library  
P0408R3 Efficient Access to basic_stringbuf's Buffer Peter Sommerlad 2017-11-16 2017-11 P0408R2 Library  
P0415R1 Constexpr for std::complex Antony Polukhin 2016-11-10 2017-11 P0415R0 Library Evolution Adopted 2017-11
P0424R2 String literals as non-type template parameters Louis Dionne, Hana Dusíková 2017-11-14 2017-11 P0424R1 Core  
P0429R3 A Standard flat_map Zach Laine 2016-08-31 2017-11 P0429R2 Library Evolution, Library  
P0443R4 A Unified Executors Proposal for C++ Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, Carter Edwards, Gordon Brown 2017-11-22 2017-11 P0443R3 SG1  
P0457R2 String Prefix and Suffix Checking Mikhail Maltsev 2017-11-11 2017-11 P0457R1 Library Adopted 2017-11
P0476R2 Bit-casting object representations JF Bastien 2017-11-10 2017-11 P0476R1 Library  
P0515R3 Consistent comparison Herb Sutter, Jens Maurer, Walter E. Brown 2017-11-10 2017-11 P0515R2 Evolution, Library Evolution, Core, Library Adopted 2017-11
P0542R2 Support for contract based programming in C++ G. Dos Reis, J. D. Garcia, J. Lakos, A. Meredith, N. Myers, B. Stroustrup 2017-11-26 2017-11 P0542R1 Evolution, Core  
P0553R2 Bit operations Jens Maurer 2017-11-23 2017-11 P0553R1 Library  
P0556R2 Integral power-of-2 operations Jens Maurer 2017-11-23 2017-11 P0556R1 Library  
P0561R3 An RAII Interface for Deferred Reclamation Geoff Romer, Andrew Hunter 2017-11-11 2017-11 P0561R2 SG1, Library  
P0588R1 Simplifying implicit lambda capture Richard Smith 2017-11-07 2017-11 P0588R0 Core Adopted 2017-11
P0600R1 [[nodiscard]] in the Library Nicolai Josuttis 2017-11-09 2017-11 P0600R0 Library Evolution, Library Adopted 2017-11
P0614R1 Range-based for statements with initializer Thomas Köppe 2017-11-06 2017-11 P0614R0 Core Adopted 2017-11
P0619R2 Reviewing Deprecated Facilities of C++17 for C++20 Alisdair Meredith, Stephan T. Lavavej, Tomasz Kamiński 2017-11-06 2017-11 P0619R1 Core, Library  
P0624R2 Default constructible and assignable stateless lambdas Louis Dionne 2017-11-10 2017-11 P0624R1 Core Adopted 2017-11
P0641R2 Resolving Core Issue #1331 (const mismatch with defaulted copy constructor) Daniel Krügler, Botond Ballo 2017-11-08 2017-11 P0641R1 Core Adopted 2017-11
P0653R2 Utility to convert a pointer to a raw pointer Glen Joseph Fernandes 2017-11-09 2017-11 P0653R1 Library Adopted 2017-11
P0692R1 Access Checking on Specializations Matt Calabrese 2017-11-10 2017-11 P0692R0 Core Adopted 2017-11
P0718R2 Revising atomic_shared_ptr for C++20 Alisdair Meredith 2017-11-10 2017-11 P0718R1 SG1, Library Evolution, Library Adopted 2017-11
P0722R2 Efficient sized delete for variable sized classes Richard Smith, Andrew Hunter 2017-11-27 2017-11 P0722R1 Core, Library  
P0754R1 <version> Alan Talbot 2017-11-27 2017-11 P0754R0 Library  
P0767R1 Deprecate POD Jens Maurer 2017-11-10 2017-11 P0767R0 Library Evolution, Core, Library Adopted 2017-11
P0768R1 Library Support for the Spaceship (Comparison) Operator Walter E. Brown 2017-11-10 2017-11 P0768R0 Library Evolution, Library  
P0776R1 Rebase the Parallelism TS onto the C++17 Standard Alisdair Meredith 2017-11-10 2017-11 P0776R0 Library Adopted 2017-11
P0777R1 Treating Unnecessary decay Walter E. Brown 2017-11-06 2017-11 P0777R0 Library Adopted 2017-11
P0780R1 Allow pack expansion in lambda init-capture Barry Revzin 2017-11-26 2017-11 P0780R0 Evolution  
P0789R1 Range Adaptors and Utilities Eric Niebler 2017-11-17 2017-11 P0789R0 Library Evolution  
P0799R1 Vulnerability descriptions for the programming language C++ Stephen Michel 2017-11-27 2017-11 P0799R0 SG12  
P0818R1 Core Language Working Group "tentatively ready" Issues for the November, 2017 (Albuquerque) meeting William M. Miller 2017-11-10 2017-11 P0818R0 Core Adopted 2017-11
P0820R1 Feedback on P0214r6 Tim Shen 2017-11-15 2017-11 P0820R0 SG1, Library Evolution  
P0822R0 C++ Modules Are a Tooling Opportunity Gabriel Dos Reis 2017-10-16 2017-11   Evolution  
P0840R1 Language support for empty objects Richard Smith 2017-11-27 2017-11 P0840R0 Core  
P0843R0 fixed_capacity_vector Gonzalo Brito Gadeschi 2017-10-15 2017-11   Library Evolution, Library  
P0845R0 Common Subset of C++03 and C++17: Binders Detlef Vollmann 2017-10-13 2017-11   Library Evolution, Library  
P0846R0 ADL and Function Templates that are not Visible John Spicer 2017-11-08 2017-11   Core Adopted 2017-11
P0848R0 Conditionally Trivial Special Member Functions Barry Revzin, Casey Carter 2017-11-12 2017-11   Evolution  
P0849R0 auto(x): DECAY_COPY in the language Zhihao Yuan 2017-11-02 2017-11   Evolution, Library Evolution  
P0851R0 simd<T> is neither a product type nor a container type Matthias Kretz 2017-11-06 2017-11   SG1, Library Evolution  
P0857R0 Wording for "functionality gaps in constraints" Thomas Köppe 2017-11-10 2017-11   Core Adopted 2017-11
P0858R0 Constexpr iterator requirements Antony Polukhin 2017-11-11 2017-11   Library Evolution, Library  
P0859R0 Core Issue 1581: When are constexpr member functions defined? Richard Smith 2017-11-09 2017-11   Core Adopted 2017-11
P0864R0 C++ Standard Library Issues Resolved Directly In Albuquerque Marshall Clow 2017-11-11 2017-11   Library Adopted 2017-11
P0867R0 'Module Interface' is Misleading Nathan Sidwell 2017-11-21 2017-11   Evolution  
P0868R0 Selected RCU Litmus Tests Paul E. McKenney, Alan Stern, Andrew Hunter 2017-11-20 2017-11   SG1  
P0870R0 A proposal for a type trait to detect narrowing conversions Giuseppe D'Angelo 2017-11-21 2017-11   Library Evolution  
P0872R0 Discussion Summary: Applying Concepts to the Standard Library Beman Dawes 2017-11-25 2017-11   Library Evolution, Library  
P0873R0 A plea for a consistent, terse and intuitive declaration syntax Corentin Jabot 2017-11-27 2017-11   SG8, Evolution  
P0874R0 Syntax to anonymously refer to the current declaration contexts Corentin Jabot 2017-11-20 2017-11   SG7, Evolution  
P0875R0 WG21 2017-11 Albuquerque Record of Discussion Jonathan Wakely 2017-11-26 2017-11   WG21