Standardization

2019-01 pre-Kona mailing available (part 2 of 2)

The full 2019-01 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
P1253R0 Guidelines for when a WG21 proposal should be reviewed by SG16, the text and Unicode study group Steve Downey 2019-01-21 2019-01 WG21
P1255R2 A view of 0 or 1 elements: view::maybe Steve Downey 2018-11-26 2019-01 P1255R1 Library Evolution
P1280R1 Integer Width Literals Isabella Muerte 2018-10-05 2019-01 P1280R0 Library Evolution
P1286R1 Contra CWG DR1778 Richard Smith 2019-01-18 2019-01 P1286R0 Core, Library
P1290R1 Avoiding undefined behavior in contracts J. Daniel Garcia, Ville Voutilainen 2019-01-21 2019-01 P1290R0 Evolution, Core
P1293R2 ostream_joiner Mike Spertus, Nathan Wilson 2019-01-21 2019-01 P1293R1 Library Evolution, Library
P1301R2 [[nodiscard("should have a reason")]] JeanHeyd Meneide, Isabella Muerte 2019-01-21 2019-01 P1301R1 Evolution, Core
P1302R1 Implicit Module Partition Lookup Isabella Muerte, Richard Smith 2019-01-21 2019-01 P1302R0 Evolution
P1306R1 Expansion statements Andrew Sutton, Sam Goodrick, Daveed Vandevoorde 2019-01-21 2019-01 P1306R0 Evolution
P1320R1 Allowing contract predicates on non-first declarations Ville Voutilainen 2019-01-20 2019-01 P1320R0 Evolution
P1323R1 Contract postconditions and return type deduction Hubert S.K. Tong 2019-01-19 2019-01 P1323R0 Core
P1329R0 On the Coroutines TS Mihail Mihaylov, Vassil Vassilev 2018-11-20 2019-01 WG21
P1331R0 Permitting trivial default initialization in constexpr contexts CJ Johnson 2019-01-04 2019-01 Evolution
P1337R0 Aliasing the standard library as a means to save C++ CJ Johnson 2019-04-01 2019-01 Library Evolution
P1339R0 Disallowing the friending of names in namespace std CJ Johnson 2019-01-04 2019-01 Library Evolution
P1344R0 Pre/Post vs. Enspects/Exsures Nathan Myers 2019-01-18 2019-01 Evolution
P1347R1 Modules: ADL & Internal Linkage Nathan Sidwell, Davis Herring 2019-01-17 2019-01 P1347R0 Evolution
P1351R0 Intrusive smart pointer feedback Mark Zeren 2019-01-20 2019-01 Library Evolution
P1355R1 Exposing a narrow contract for ceil2 Chris Kennelly 2019-01-21 2019-01 P1355R0 SG6, Library Evolution, Library
P1357R0 Traits for [Un]bounded Arrays Walter E. Brown, Glen J. Fernandes 2019-01-06 2019-01 Library
P1361R0 Integration of chrono with text formatting Victor Zverovich, Daniela Engert, Howard E. Hinnant 2019-01-20 2019-01 Library Evolution, Library
P1371R0 Pattern Matching Sergei Murzin, Michael Park, David Sankel, Dan Sarginson 2019-01-21 2019-01 Evolution
P1377R0 Summary of Dec 2018 SG14 freestanding discussions Ben Craig 2019-01-12 2019-01 WG21
P1380R1 Ambiguity and Insecurities with Three-Way Comparison Lawrence Crowl 2019-01-20 2019-01 P1380R0 Core, Library
P1382R0 volatile_load<T> and volatile_store<T> JF Bastien, Paul McKenney 2019-01-11 2019-01 SG1
P1383R0 More constexpr for <cmath> and <complex> Edward J. Rosten, Oliver J. Rosten 2019-01-18 2019-01 SG6, Library Evolution, Library
P1385R0 A proposal to add linear algebra support to the C++ standard library Guy Davidson, Bob Steagall 2019-01-21 2019-01 SG6, Library Evolution Incubator
P1386R0 A Standard Audio API for C++: Motivation, Scope, and Basic Design Guy Somberg, Guy Davidson, Timur Doumler 2019-01-21 2019-01 SG13
P1388R0 2019-01-11 SG20 Telecon Minutes JC van Winkel, Christopher Di Bella 2019-01-11 2019-01 SG20
P1389R0 Standing Document for SG20: Guidelines for Teaching C++ to Beginners Christopher Di Bella, Simon Brand, Michael Adams 2019-01-21 2019-01 SG20
P1390R0 Suggested Reflection TS NB Resolutions Matúš Chochlík, Axel Naumann, and David Sankel 2019-01-10 2019-01 SG7, Evolution, Core, Library Evolution, Library
P1391R0 Range constructor for std::string_view Corentin Jabot 2019-01-21 2019-01 Library Evolution
P1392R0 Differences Between Functions and Function Templates Davis Herring, Roger Orr 2019-01-14 2019-01 WG21
P1393R0 A General Property Customization Mechanism David Hollman, Chris Kohlhoff, Bryce Lelbach, Jared Hoberock, Gordon Brown, Michał Dominiak 2019-01-13 2019-01 Library Evolution
P1394R0 Range constructor for std::span Corentin Jabot, Casey Carter 2019-01-21 2019-01 Library Evolution
P1395R0 Modules: Partitions Are Not a Panacea Nathan Sidwell 2019-01-18 2019-01 Evolution
P1401R0 Narrowing contextual conversions to bool Andrzej Krzemienski 2019-01-15 2019-01 Evolution
P1402R0 std::cstring_view - a C compatible std::string_view adapter Andrew Tomazos 2019-01-10 2019-01 Library Evolution
P1403R0 Experience Report: Implementing a Coroutines TS Frontend to an Existing Tasking Library David S. Hollman 2019-01-16 2019-01 SG1, Evolution
P1404R0 bad_alloc is not out-of-memory! Andrzej Krzemienski 2019-01-15 2019-01 Evolution, Library Evolution
P1405R0 C++20 Executors are Resilient to ABI Breakage Jared Hoberock, Chris Kohlhoff 2019-01-21 2019-01 SG1
P1406R0 Add more std::hash specializations Alexander Zaitsev, Antony Polukhin 2018-12-04 2019-01 Library Evolution Incubator, Library Evolution, Library
P1407R0 Tell Programmers About Signed Integer Overflow Behavior Scott Schurr 2019-01-17 2019-01 SG12
P1408R0 Abandon observer_ptr Bjarne Stroustrup 2018-01-04 2019-01 Evolution, Library Evolution
P1410R0 Remove deprecated strstream Peter Sommerlad 2019-01-21 2019-01 Library Evolution, Library
P1411R0 Please reconsider <scope> for C++20 Peter Sommerlad 2019-01-21 2019-01 Library Evolution
P1413R0 A safer interface for std::aligned_storage CJ Johnson 2019-01-17 2019-01 Library Evolution
P1415R0 SG19 Machine Learning Layered List Michael Wong, Vincent Reverdy, Ritwik Dubey, Richard Dosselmann, Eugenio Bargiacchi 2019-01-21 2019-01 SG19
P1416R0 SG19 Linear Algebra for Data Science and Machine Learning Johann Mabille, Matthieu Brucher 2019-01-21 2019-01 SG19
P1417R0 Historical lessons for C++ linear algebra library standardization Mark Hoemmen, Jayesh Badwaik, Matthieu Brucher, Athanasios (Nasos) Iliopoulos, John Michopoulos 2019-01-21 2019-01 SG6
P1419R0 A SFINAE-friendly trait to determine the extent of statically sized containers Corentin Jabot, Casey Carter 2019-01-21 2019-01 Library Evolution
P1421R0 Assigning semantics to different Contract Checking Statements Andrzej Krzemienski 2019-01-18 2019-01 Evolution
P1422R0 SG16: Unicode meeting summaries 2018/10/17 - 2019/01/09 Tom Honermann 2019-01-17 2019-01 SG16
P1423R0 char8_t backward compatibility remediation Tom Honermann 2019-01-20 2019-01 Evolution, Library Evolution
P1424R0 'constexpr' feature macro concerns Antony Polukhin 2018-12-26 2019-01 SG10, Library
P1425R0 Iterators pair constructors for stack and queue Corentin Jabot 2019-01-21 2019-01 Library Evolution
P1426R0 Pull the Plug on Contracts? Nathan Myers 2019-01-18 2019-01 WG21
P1427R0 Concerns about module toolability Peter Bindels, Ben Craig, Steve Downey, Rene Rivera, Tom Honermann, Corentin Jabot, Stephen Kelly 2018-11-20 2019-01 WG21
P1428R0 Subscripts and sizes should be signed Bjarne Stroustrup 2018-01-18 2019-01 Evolution, Library Evolution
P1429R0 Contracts That Work Joshua Berne, John Lakos 2019-01-22 2019-01 Evolution
P1430R0 First-class symmetric coroutines in C++ Mihail Mihaylov, Vassil Vassilev 2019-01-21 2019-01 WG21
P1433R0 Compile Time Regular Expressions Hana Dusíková 2019-01-21 2019-01 SG16, Library Evolution Incubator
P1434R0 Discussing Pointer Provenance Hal Finkel, Jens Gustedt, Martin Uecker 2019-01-21 2019-01 SG12
P1436R0 Executor properties for affinity-based execution Gordon Brown, Ruyman Reyes, Michael Wong, H. Carter Edwards, Thomas Rodgers, Mark Hoemmen 2019-01-21 2019-01 SG1, SG14, Library Evolution
P1439R0 Charset Transcoding, Transformation, and Transliteration Steve Downey 2019-01-21 2019-01 SG16
P1440R0 is_clamped Johel Guerrero 2019-01-19 2019-01 Library Evolution Incubator
P1442R0 A Medley of Networking TS improvements Damian Jarek 2019-01-18 2019-01 Library Evolution
P1443R0 SG14: Low Latency Meeting Minutes 2018/07/11 - 2019/01/09 Michael Wong 2019-01-21 2019-01 SG14
P1444R0 SG19: Machine Learning 2018/12/14 - 2019/01/11 Michael Wong 2019-01-21 2019-01 SG19
P1445R0 Concurrency TS: to update or not update Michael Wong 2019-01-21 2019-01 SG1
P1446R0 Reconsider the Networking TS for inclusion in C++20 Christopher Kohlhoff 2019-01-18 2019-01 WG21
P1447R0 constexpr C++ is not constexpr C Matúš Chochlík, Axel Naumann, and David Sankel 2019-01-21 2019-01 SG7, Evolution, Library Evolution
P1448R0 Simplifying Mixed Contract Modes Nathan Burgers 2019-01-20 2019-01 Evolution
P1449R0 Towards Tree and Graph Data Structures for C++ Vincent Reverdy 2019-01-21 2019-01 SG19
P1450R0 Enriching type modification traits Vincent Reverdy 2019-01-21 2019-01 Library Evolution Incubator
P1452R0 On the non-uniform semantics of return-type-requirements Hubert S.K. Tong 2019-01-21 2019-01 Evolution
P1453R0 Modularizing the Standard Library is a Reorganization Opportunity Bryce Adelstein Lelbach 2019-01-21 2019-01 Library Evolution
P1456R0 Move-only views Casey Carter 2019-01-25 2019-01 Library Evolution
P1457R0 C++ Standard Library Issues to be moved in Kona Marshall Clow 2019-01-21 2019-01 WG21
P1458R0 Mandating the Standard Library: Clause 16 - Language support library Marshall Clow 2019-01-20 2019-01 Library
P1459R0 Mandating the Standard Library: Clause 18 - Diagnostics library Marshall Clow 2019-01-20 2019-01 Library
P1462R0 Mandating the Standard Library: Clause 20 - Strings library Marshall Clow 2019-01-20 2019-01 Library
P1463R0 Mandating the Standard Library: Clause 21 - Containers library Marshall Clow 2019-01-20 2019-01 Library
P1464R0 Mandating the Standard Library: Clause 22 - Iterators library Marshall Clow 2019-01-20 2019-01 Library
P1465R0 Function optimization hint attributes: [[always_inline]], [[never_inline]] David Goldblatt 2019-01-20 2019-01 Evolution
P1466R0 Miscellaneous minor fixes for chrono Howard E. Hinnant 2019-01-21 2019-01 Library
P1467R0 Extended floating-point types Michał Dominiak, David Olsen 2019-01-21 2019-01 SG6, Evolution, Library Evolution
P1468R0 Fixed-layout floating-point type aliases Michał Dominiak, Boris Fomitchev, Sergei Nikolaev 2019-01-21 2019-01 SG6, Evolution, Library Evolution
P1469R0 Disallow _ Usage in C++20 for Pattern Matching in C++23 Sergei Murzin, Michael Park, David Sankel, Dan Sarginson 2019-01-21 2019-01 Evolution
P1470R0 Against a standard concurrent hashmap David Goldblatt 2018-01-20 2019-01 SG1
P1471R0 The trouble with coroutine_traits Christopher Kohlhoff 2019-01-20 2019-01 Evolution
P1472R0 SG5: Transactional Memory (TM) Meeting Minutes (June 2018 - January 2019) Hans Boehm 2019-01-18 2019-01 SG5
P1473R0 Shadow namespaces Casey Carter 2019-01-21 2019-01 Library Evolution
P1474R0 Helpful pointers for ContiguousIterator Casey Carter 2019-01-21 2019-01 Library Evolution
P1477R0 Coroutines TS Simplifications Lewis Baker 2019-01-20 2019-01 Evolution
P1479R0 ostringstream wrapper Robert Kawulak 2019-01-21 2019-01 Library Evolution Incubator
P1481R0 constexpr structured bindings Nicolas Lesser 2019-01-21 2019-01 Evolution

2019-01 pre-Kona mailing available (part 1 of 2)

The full 2019-01 mailing of new standards papers is now available.

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
N4795 PL22.16/WG21 Draft agenda: 18-23 Febuary 2019, Kona, HI, USA John Spicer 2019-01-04 2019-01   WG21  
N4796 Working Draft, C++ Extensions for Parallelism Version 2 Jared Hoberock 2019-01-21 2019-01 N4793 WG21  
N4797 Parallelism TS Editor’s Report, pre-Kona mailing Jared Hoberock 2019-01-21 2019-01   WG21  
N4798 WG21 telecon meeting: Pre-Kona Herb Sutter 2019-01-19 2019-01   WG21  
N4799 Editors' Report - Programming Languages - C++ Richard Smith 2019-01-21 2019-01   WG21  
N4800 Working Draft, Standard for Programming Language C++ Richard Smith 2019-01-21 2019-01 N4791 WG21  
P0009R9 mdspan: A Non-Owning Multidimensional Array Reference H. Carter Edwards, Bryce Adelstein Lelbach, Daniel Sunderland, David Hollman, Christian Trott, Mauro Bianco, Ben Sander, Athanasios Iliopoulos, John Michopoulos, Mark Hoemmen 2019-01-20 2019-01 P0009R8 Library  
P0037R6 Fixed-Point Real Numbers John McFarlane 2019-01-21 2019-01 P0037R5 SG6, SG14, Library Evolution  
P0228R3 unique_function: a move-only std::function Ryan McDougall, Matt Calabrese 2019-01-09 2019-01 P0228R2 Library Evolution  
P0260R3 C++ Concurrent Queues Lawrence Crowl, Chris Mysen 2019-01-20 2019-01 P0260R2 Library Evolution Incubator  
P0330R4 Literal Suffixes for ptrdiff_t and size_t JeanHeyd Meneide, Rein Halbersma 2019-01-21 2019-01 P0330R3 Evolution, Core  
P0408R6 Efficient Access to basic_stringbuf’s Buffer Peter Sommerlad 2019-01-21 2019-01 P0408R5 Library Evolution, Library  
P0429R6 A Standard flatmap Zach Laine 2019-01-21 2019-01 P0429R5 Library  
P0443R10 A Unified Executors Proposal for C++ Jared Hoberock, Michael Garland, Chris Kohlhoff, Chris Mysen, H. Carter Edwards, Gordon Brown, David Hollman 2019-01-21 2019-01 P0443R9 SG1, Library Evolution  
P0448R2 A strstream replacement using span<charT> as buffer Peter Sommerlad 2019-01-21 2019-01 P0448R1 Library Evolution, Library  
P0533R4 constexpr for <cmath> and <cstdlib> Edward J. Rosten, Oliver J. Rosten 2019-01-07 2019-01 P0533R3 Library  
P0549R5 Adjuncts to std::hash Walter E. Brown 2019-01-20 2019-01 P0549R4 Library  
P0593R3 Implicit creation of objects for low-level object manipulation Richard Smith 2019-01-18 2019-01 P0593R2 Evolution  
P0631R5 Math Constants Lev Minkovsky, John McFarlane 2019-01-12 2019-01 P0631R4 Library  
P0645R5 Text Formatting Victor Zverovich 2019-01-20 2019-01 P0645R4 Library Evolution, Library  
P0652R2 Concurrent associative data structure with unsynchronized view Sergey Murylev, Anton Malakhov, Antony Polukhin 2019-01-15 2019-01 P0652R1 SG1  
P0660R8 Stop Tokens and a Joining Thread Nicolai Josuttis, Lewis Baker, Billy O’Neal, Herb Sutter, Anthony Williams 2019-01-20 2019-01 P0660R7 SG1, Library Evolution, Library  
P0664R7 C++ Coroutine TS Issues Gor Nishanov 2019-01-16 2019-01 P0664R6 Evolution, Core, Library  
P0784R5 More constexpr containers Peter Dimov, Louis Dionne, Nina Ranns, Richard Smith, Daveed Vandevoorde 2019-01-21 2019-01 P0784R4 Evolution, Core, Library Evolution  
P0790R2 Effect of operator<=> on the C++ Standard Library David Stone 2019-01-21 2019-01 P0790R1 Library Evolution, Library  
P0798R3 Monadic operations for std::optional Simon Brand 2019-01-21 2019-01 P0798R2 SG14, Library Evolution  
P0829R4 Freestanding Proposal Ben Craig 2019-01-12 2019-01 P0829R3 SG14, Library Evolution  
P0843R3 static_vector Gonzalo Brito Gadeschi 2019-01-20 2019-01 P0843R2 Library Evolution  
P0847R2 Deducing this Gašper Ažman, Simon Brand, Ben Deane, Barry Revzin 2019-01-15 2019-01 P0847R1 SG7, Evolution  
P0848R1 Conditionally Trivial Special Member Functions Barry Revzin, Casey Carter 2019-01-18 2019-01 P0848R0 Core  
P0876R5 fiber_context - fibers without scheduler Oliver Kowalke, Nat Goodspeed 2019-01-19 2019-01 P0876R4 SG1  
P0880R2 Numbers interaction Igor Klevanets, Antony Polukhin 2019-01-15 2019-01 P0880R1 SG6, Library Evolution  
P0881R3 A Proposal to add stacktrace library Alexey Gorgurov, Antony Polukhin 2019-01-04 2019-01 P0881R2 Core, Library  
P0886R0 Response to “Fibers under the magnifying glass” Nat Goodspeed, Oliver Kowalke 2019-01-06 2019-01   SG1, Evolution  
P0889R1 Ultimate copy elision Antony Polukhin 2019-01-09 2019-01 P0889R0 Evolution, Core  
P0891R2 Make strong_order a Customization Point! Gašper Ažman, Jeff Snyder 2019-01-20 2019-01 P0891R1 Library Evolution, Library  
P0894R1 realloc() for C++ Victor Dyachenko 2019-01-18 2019-01 P0894R0 Library Evolution  
P0901R3 Size feedback in operator new Andrew Hunter, Chris Kennelly 2019-01-21 2019-01 P0901R2 Evolution  
P0912R4 Merge Coroutines TS into C++20 working draft Gor Nishanov 2019-01-16 2019-01 P0912R3 WG21  
P0920R1 Precalculated hash values in lookup Mateusz Pusz 2019-01-07 2019-01 P0920R0 Library  
P0939R2 Direction for ISO C++ H. Hinnant, R. Orr, B. Stroustrup, D. Vandevoorde, M. Wong 2019-01-21 2019-01 P0939R1 WG21  
P0940R2 Concurrency TS is growing: Concurrent Utilities and Data Structures Michael Wong, Olivier Giroux 2019-01-21 2019-01 P0940R1 SG1  
P0953R2 constexpr reflexpr Matúš Chochlík, Axel Naumann, and David Sankel 2019-01-19 2019-01 P0953R1 SG7  
P1019R2 Integrating Executors with Parallel Algorithms Jared Hoberock 2019-01-21 2019-01 P1019R1 SG1, Library Evolution  
P1021R3 Filling holes in Class Template Argument Deduction Mike Spertus, Timur Doumler, Richard Smith 2018-11-26 2019-01 P1021R2 Core  
P1024R2 Usability Enhancements for std::span Tristan Brindle 2019-01-20 2019-01 P1024R1 Library  
P1035R4 Input range adaptors Christopher Di Bella, Casey Carter, Corentin Jabot 2018-10-08 2019-01 P1035R3 Library Evolution  
P1040R4 std::embed JeanHeyd Meneide 2019-01-21 2019-01 P1040R3 Evolution, Library Evolution  
P1041R3 Make char16_t/char32_t string literals be UTF-16/32 R. Martinho Fernandes 2019-01-21 2019-01 P1041R1 Evolution  
P1063R2 Core Coroutines Geoff Romer, James Dennett, Chandler Carruth 2019-01-16 2019-01 P1063R1 WG21  
P1072R3 basic_string::resize_default_init Chris Kennelly, Mark Zeren 2019-01-21 2019-01 P1072R2 SG16, Library Evolution, Library  
P1097R2 Named character escapes R. Martinho Fernandes 2019-01-21 2019-01 P1097R1 SG16, Evolution, Core  
P1099R3 Using Enum Gašper Ažman, Jonathan Müller 2019-01-20 2019-01 P1099R2 Evolution, Core  
P1121R1 Hazard Pointers: Proposed Interface and Wording for Concurrency TS 2 Maged M. Michael, Michael Wong, Paul McKenney, Geoffrey Romer, Andrew Hunter, Arthur O'Dwyer, David S. Hollman, JF Bastien, Hans Boehm, David Goldblatt, Frank Birbacher, Mathias Stearn 2019-01-20 2019-01 P1121R0 Library  
P1130R1 Module Resource Requirement Propagation JeanHeyd Meneide 2019-01-21 2019-01 P1130R0 Evolution  
P1132R3 out_ptr - a scalable output pointer abstraction JeanHeyd Meneide, Todor Buyukliev, Isabella Muerte 2019-01-21 2019-01 P1132R2 Library Evolution, Library  
P1135R2 The C++20 Synchronization Library Bryce Adelstein Lelbach, Olivier Giroux, JF Bastien, Detlef Vollmann 2019-01-15 2019-01 P1135R1 SG1, Library Evolution, Library  
P1135R3 The C++20 Synchronization Library Bryce Adelstein Lelbach, Olivier Giroux, JF Bastien, Detlef Vollmann 2019-01-21 2019-01 P1135R2 Library  
P1139R0 Address wording issues related to ISO 10646 R. Martinho Fernandes 2019-01-21 2019-01   SG16, Core  
P1139R1 Address wording issues related to ISO 10646 R. Martinho Fernandes 2019-01-22 2019-01 P1139R0 SG16, Core  
P1143R1 Adding the constinit keyword Eric Fiselier 2019-01-21 2019-01   P1143R0 Evolution  
P1144R2 Object relocation in terms of move plus destroy Arthur O'Dwyer 2019-01-18 2019-01 P1144R1 Evolution, Library Evolution  
P1152R1 Deprecating volatile JF Bastien 2019-01-20 2019-01 P1152R0 SG1, Evolution, Library Evolution  
P1154R1 Type traits for structural comparison Arthur O'Dwyer, Jeff Snyder 2019-01-19 2019-01 P1154R0 Library Evolution  
P1155R2 More implicit moves Arthur O'Dwyer, David Stone 2019-01-19 2019-01 P1155R1 Evolution  
P1161R2 Deprecate uses of the comma operator in subscripting expressions Corentin Jabot 2019-01-21 2019-01 P1161R1 Core  
P1166R0 What do we need from a linear algebra library? Guy Davidson, Bob Steagall 2019-01-12 2019-01   SG6, SG14, Library Evolution Incubator, Library Evolution  
P1185R1 <=> != == Barry Revzin 2019-01-22 2019-01 P1185R0 Evolution, Core  
P1186R1 When do you actually use <=>? Barry Revzin 2019-01-22 2019-01 P1186R0 Evolution  
P1188R0 Library utilities for <=> Barry Revzin 2019-01-22 2019-01   Library Evolution  
P1202R1 Asymmetric Fences David Goldblatt 2019-01-20 2019-01 P1202R0 SG1  
P1206R1 ranges::to: A function to convert any range to a container Corentin Jabot, Eric Niebler, Casey Carter 2019-01-21 2019-01 P1206R0 Library Evolution  
P1207R1 Movability of Single-pass Iterators Corentin Jabot 2019-01-21 2019-01 P1207R0 Library Evolution  
P1208R3 Source-Code Information Capture Robert Douglas, Corentin Jabot 2018-11-08 2019-01 P1208R2 Library  
P1221R1 Parametric Expressions Jason Rice 2018-10-03 2019-01 P1221R0 Evolution  
P1222R1 A Standard flatset Zach Laine 2019-01-21 2019-01 P1222R0 Library Evolution, Library  
P1223R1 find_backward Zach Laine 2018-10-02 2019-01 P1223R0 Library Evolution  
P1227R1 Signed ssize() functions, unsigned size() functions Jorg Brown 2019-01-21 2019-01 P1227R0 Library Evolution  
P1228R1 A proposal to add an efficient string concatenation routine to the Standard Library Jorg Brown 2019-01-21 2019-01 P1228R0 Library Evolution  
P1243R1 Rangify New Algorithms Dan Raviv 2019-01-16 2019-01 P1243R0 Library  

2018-11 post-San Diego mailing available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
N4782 WG21 Autumn Meeting - Belfast, Northern Ireland Jamie Allsop 2018-10-24 2018-11   WG21  
N4783 2019 Cologne Meeting Invitation and Information Nico Josuttis 2018‐11‐25 2018-11   WG21  
N4784 WG21 pre-San Diego telecon minutes Nina Dinka Ranns 2018-10-28 2018-11   WG21  
N4785 San Diego 2018 LEWG Summary Titus Winters 2018-11-13 2018-11   WG21  
N4786 Working Draft, C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2018-11-13 2018-11 N4758 WG21  
N4787 Editor’s Report: C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2018-11-13 2018-11   WG21  
N4790 WG21 2018-11 San Diego Minutes Nina Dinka Ranns 2018-11-26 2018-11   WG21  
N4791 Working Draft, Standard for Programming Language C++ Richard Smith 2018-11-26 2018-11 N4778 WG21  
N4792 Editors' Report - Programming Languages - C++ Richard Smith 2018-11-26 2018-11   WG21  
N4793 Working Draft, C++ Extensions for Parallelism Version 2 Jared Hoberock 2018-11-26 2018-11 N4773 WG21  
N4794 Parallelism TS Editor’s Report, post-San Diego mailing Jared Hoberock 2018-11-26 2018-11   WG21  
P0325R3 to_array from LFTS with updates Zhihao Yuan 2018-11-07 2018-11 P0325R2 Library Evolution  
P0330R3 Literal Suffixes for ptrdiff_t and size_t JeanHeyd Meneide, Rein Halbersma 2018-11-26 2018-11 P0330R2 Evolution, Core  
P0340R2 Making std::underlying_type SFINAE-friendly Tim Song 2018-11-25 2018-11 P0340R1 Library  
P0356R5 Simplified partial function application Tomasz Kamiński 2018-11-09 2018-11 P0356R4 Library Adopted 2018-11
P0357R3 'reference_wrapper' for incomplete types Tomasz Kamiński, Stephan T. Lavavej, Alisdair Meredith 2018-11-07 2018-11 P0357R2 Library Adopted 2018-11
P0387R1 Memory Model Issues for Concurrent Data Structures Hans-J. Boehm 2018-11-25 2018-11 P0387R0 SG1  
P0482R6 char8_t: A type for UTF-8 characters and strings (Revision 6) Tom Honermann 2018-11-09 2018-11 P0482R5 Core, Library Adopted 2018-11
P0553R3 Bit operations Jens Maurer 2018-11-22 2018-11 P0553R2 Library Evolution  
P0577R1 Kept-value statement for guard objects Zhihao Yuan 2018-07-09 2018-11 P0577R0 Evolution  
P0591R4 Utility functions to implement uses-allocator construction Pablo Halpern 2018-11-07 2018-11 P0591R3 Library Adopted 2018-11
P0595R2 std::is_constant_evaluated Richard Smith, Andrew Sutton, Daveed Vandevoorde 2018-11-09 2018-11 P0595R1 Core, Library Adopted 2018-11
P0636R3 Changes between C++14 and C++17 Thomas Köppe 2018-11-26 2018-11 P0636R2 WG21  
P0645R4 Text Formatting Victor Zverovich 2018-11-25 2018-11 P0645R3 Library Evolution, Library  
P0660R6 A Cooperatively Interruptible Joining Thread, Rev 6 Nicolai Josuttis, Billy O’Neal, Herb Sutter, Anthony Williams 2018-11-04 2018-11 P0660R5 SG1, Library Evolution, Library  
P0660R7 Interrupt Tokens and a Joining Thread, Rev 7 Nicolai Josuttis, Lewis Baker, Billy O’Neal, Herb Sutter, Anthony Williams 2018-11-09 2018-11 P0660R6 SG1, Library Evolution, Library  
P0668R5 Revising the C++ memory model Hans-J. Boehm, Olivier Giroux, Viktor Vafeiades 2018-11-09 2018-11 P0668R4 WG21 Adopted 2018-11
P0738R1 I Stream, You Stream, We All Stream for istream_iterator Casey Carter 2018-11-14 2018-11 P0738R0 Library  
P0896R4 The One Ranges Proposal Eric Niebler, Casey Carter, Christopher Di Bella 2018-11-09 2018-11 P0896R3 Library Evolution, Library Adopted 2018-11
P0899R1 LWG 3016 is Not a Defect Casey Carter 2018-11-08 2018-11 P0899R0 Library Adopted 2018-11
P0901R2 Size feedback in operator new Andrew Hunter, Chris Kennelly 2018-11-25 2018-11 P0901R1 Evolution  
P0919R3 Heterogeneous lookup for unordered containers Mateusz Pusz 2018-11-09 2018-11 P0919R2 Library Adopted 2018-11
P0924R1 Modules:Context-Sensitive Keyword Nathan Sidwell 2018-11-21 2018-11 P0924R0 Evolution  
P0982R1 Weaken release sequences Hans-J. Boehm, Olivier Giroux, Viktor Vafeiades 2018-11-06 2018-11 P0982R0 WG21 Adopted 2018-11
P0985R3 LWG Chair post-meeting report Marshall Clow 2018-11-20 2018-11 P0985R2 WG21  
P1002R1 Try-catch blocks in constexpr functions Louis Dionne 2018-11-10 2018-11 P1002R0 Core Adopted 2018-11
P1007R3 std::assume_aligned Timur Doumler, Chandler Carruth 2018-11-07 2018-11 P1007R2 Library Adopted 2018-11
P1009R1 Array size deduction in new-expressions Timur Doumler 2018-11-26 2018-11 P1009R0 Core  
P1018R2 Evolution status after San Diego 2018 Ville Voutilainen 2018-11-10 2018-11 P1018R1 WG21  
P1020R1 Smart pointer creation with default initialization Glen Joseph Fernandes, Peter Dimov 2018-11-06 2018-11 P1020R0 Library Adopted 2018-11
P1021R2 Filling holes in Class Template Argument Deduction Mike Spertus, Timur Doumler, Richard Smith 2018-11-26 2018-11 P1021R1 Evolution  
P1035R2 Input range adaptors Christopher Di Bella, Casey Carter, Corentin Jabot 2018-10-08 2018-11 P1035R1 Library Evolution  
P1035R3 Input range adaptors Christopher Di Bella, Casey Carter, Corentin Jabot 2018-10-08 2018-11 P1035R2 Library Evolution  
P1039R0 I got you, FAM: Flexible Array Members for C++ JeanHeyd Meneide, Nicole Mazzuca, Arvid Gerstmann 2018-11-26 2018-11   Evolution Incubator  
P1040R3 std::embed JeanHeyd Meneide 2018-11-26 2018-11 P1040R2 Evolution  
P1069R1 Inferencing heap objects Mike Spertus, Walter E. Brown, Stephan T. Lavavej 2018-11-25 2018-11 P1069R0 Library Evolution, Library  
P1072R2 basic_string::resize_default_init Chris Kennelly, Mark Zeren 2018-11-25 2018-11 P1072R1 SG16, Library Evolution, Library  
P1073R3 Immediate functions Richard Smith, Andrew Sutton, Daveed Vandevoorde 2018-11-06 2018-11 P1073R2 Core Adopted 2018-11
P1083R2 Move resource_adaptor from Library TS to the C++ WP Pablo Halpern 2018-11-13 2018-11 P1083R1 Library  
P1084R2 Today's return-type-requirements Are Insufficient Walter E. Brown, Casey Carter 2018-11-06 2018-11 P1084R1 Core, Library Adopted 2018-11
P1091R2 Extending structured bindings to be more like variable declarations Nicolas Lesser 2018-11-26 2018-11 P1091R1 Core  
P1094R2 Nested Inline Namespaces Alisdair Meredith 2018-11-09 2018-11 P1094R1 Evolution Adopted 2018-11
P1101R0 Vector Length Agnostic SIMD Mikhail Maltsev, Richard Sandiford 2018-05-22 2018-11   SG1, Evolution  
P1103R2 Merging Modules Richard Smith 2018-11-26 2018-11 P1103R1 WG21  
P1112R1 Language support for class layout control Pal Balog 2018-11-25 2018-11 P1112R0 Evolution Incubator, Evolution  
P1122R2 Proposed Wording for Concurrent Data Structures: Read-Copy-Update (RCU) Paul McKenney, Michael Wong, Maged M. Michael, Geoffrey Romer, Andrew Hunter, Arthur O'Dwyer, David S. Hollman, JF Bastien, Hans Boehm, David Goldblatt, Frank Birbacher, Erik Rigtorp 2018-11-25 2018-11 P1122R1 Library  
P1131R2 Core Issue 2292: simple-template-id is ambiguous between class-name and type-name Jens Maurer 2018-11-07 2018-11 P1131R1 Core Adopted 2018-11
P1132R2 out_ptr - a scalable output pointer abstraction JeanHeyd Meneide, Todor Buyukliev, Isabella Muerte 2018-11-26 2018-11 P1132R1 Library Evolution, Library  
P1141R2 Yet another approach for constrained declarations Ville Voutilainen, Thomas Köppe, Andrew Sutton, Herb Sutter, Gabriel Dos Reis, Bjarne Stroustrup, Jason Merrill, Hubert Tong, Eric Niebler, Casey Carter, Tom Honermann, Erich Keane, Walter E. Brown, Michael Spertus, Richard Smith 2018-11-09 2018-11 P1141R1 Evolution Adopted 2018-11
P1144R1 Object relocation in terms of move plus destroy Arthur O'Dwyer 2018-11-24 2018-11 P1144R0 Evolution, Library Evolution  
P1155R1 More implicit moves Arthur O'Dwyer, David Stone 2018-11-25 2018-11 P1155R0 Evolution  
P1161R1 Deprecate uses of the comma operator in subscripting expressions Corentin Jabot 2018-10-07 2018-11 P1161R0 Evolution  
P1164R0 Make create_directory() Intuitive Nicolai Josuttis 2018-08-29 2018-11   Library  
P1165R1 Make stateful allocator propagation more consistent for operator+(basic_string) Tim Song 2018-11-10 2018-11 P1165R0 Library Adopted 2018-11
P1177R1 Package Ecosystem Plan René Rivera 2018-11-15 2018-11 P1177R0 SG15  
P1184R1 A Module Mapper Nathan Sidwell 2018-11-12 2018-11 P1184R0 SG15  
P1192R1 Experience report - integrating Executors with Parallel Algorithms Thomas Rodgers 2018-11-05 2018-11 P1192R0 SG1, Library Evolution  
P1193R0 Explicitly Specified Returns for (Implicit) Conversions JeanHeyd Meneide 2018-11-26 2018-11   Evolution, Evolution Incubator  
P1208R1 Adopt source_location from Library Fundamentals V3 for C++20 Corentin Jabot, Robert Douglas 2018-09-21 2018-11 P1208R0 Library Evolution, Library  
P1213R1 Global Module Fragment Is Unnecessary Nathan Sidwell 2018-11-12 2018-11 P1213R0 Evolution  
P1233R1 Shift-by-negative in shift_left and shift_right Ashley Hedberg, Matt Calabrese, Bryce Adelstein Lelbach 2018-11-25 2018-11 P1233R0 Library  
P1236R1 Alternative Wording for P0907R4 Signed Integers are Two's Complement Jens Maurer 2018-11-09 2018-11 P1236R0 Core Adopted 2018-11
P1242R1 Single-file modules with the Atom semantic properties rule Jeff Snyder, Richard Smith 2018-12-01 2018-11 P1242R0 Evolution  
P1248R1 Remove CommonReference requirement from StrictWeakOrdering Tomasz Kamiński 2018-11-04 2018-11 P1248R0 Library Evolution Adopted 2018-11
P1251R1 A more constexpr bitset Morris Hafner 2018-11-26 2018-11 P1251R0 Library Evolution, Library  
P1252R1 Ranges Design Cleanup Casey Carter 2018-11-15 2018-11 P1252R0 Library  
P1255R1 A view of 0 or 1 elements: view::maybe Steve Downey 2018-11-26 2018-11 P1255R0 Library Evolution  
P1259R1 Merge most of Networking TS into C++ Working Draft Detlef Vollmann 2018-11-04 2018-11 P1259R0 SG1, Library Evolution  
P1289R1 Access control in contract conditions J. Daniel Garcia, Ville Voutilainen 2018-11-08 2018-11 P1289R0 Evolution Adopted 2018-11
P1290R0 Avoiding undefined behavior in contracts J. Daniel Garcia 2018-11-26 2018-11   Evolution  
P1293R1 ostream_joiner Mike Spertus, Nathan Wilson 2018-11-25 2018-11 P1293R0 Library Evolution, Library  
P1299R1 Module Preamble is Unnecessarily Fragile Nathan Sidwell 2018-10-10 2018-11 P1299R0 Evolution  
P1299R3 Module Preamble is Unnecessarily Fragile Nathan Sidwell 2018-11-13 2018-11 P1299R2 Evolution  
P1301R1 [[nodiscard("should have a reason")]] JeanHeyd Meneide, Isabella Muerte 2018-11-26 2018-11 P1301R0 Evolution, Core, Library Evolution, Library  
P1314R1 unique_val: a default-on-move type Miguel Ojeda 2018-11-26 2018-11 P1314R0 Library Evolution, Library  
P1315R1 secure_val: a secure-clear-on-move type Miguel Ojeda 2018-11-26 2018-11 P1315R0 Library Evolution, Library  
P1324R0 RE: Yet another approach for constrained declarations Mihail Naydenov 2018-10-12 2018-11   Evolution  
P1327R0 Allowing dynamic_cast, polymorphic typeid in Constant Expressions Peter Dimov 2018-10-28 2018-11   Evolution  
P1327R1 Allowing dynamic_cast, polymorphic typeid in Constant Expressions Peter Dimov, Vassil Vassilev, Richard Smith 2018-11-08 2018-11 P1327R0 Evolution Adopted 2018-11
P1328R0 Making std::type_info::operator== constexpr Peter Dimov 2018-10-28 2018-11   Evolution  
P1330R0 Changing the active member of a union inside constexpr Louis Dionne, David Vandevoorde 2018-11-10 2018-11   Evolution, Core Adopted 2018-11
P1332R0 Contract Checking in C++: A (long-term) Road Map Joshua Berne, Nathan Burgers, Hyman Rosen, John Lakos 2018-11-26 2018-11   WG21  
P1333R0 Assigning Concrete Semantics to Contract-Checking Levels at Compile Time Joshua Berne, John Lakos 2018-11-26 2018-11   Evolution  
P1334R0 Specifying Concrete Semantics Directly in Contract-Checking Statements Joshua Berne, John Lakos 2018-11-26 2018-11   Evolution  
P1335R0 "Avoiding undefined behavior in contracts" [P1290R0] Explained John Lakos 2018-11-26 2018-11   Evolution  
P1338R0 WG21 2018-11 San Diego Record of Discussion Nina Dinka Ranns 2018-11-26 2018-11   WG21  
P1341R0 Unifying Asynchronous APIs in the Standard Library Lewis Baker 2018-11-25 2018-11   SG1, Library Evolution  
P1342R0 Unifying Coroutines TS and Core Coroutines Lewis Baker 2018-11-19 2018-11   Evolution  
P1347R0 Modules: ADL & Internal Linkage Davis Herring, Nathan Sidwell 2018-11-21 2018-11   Evolution  
P1348R0 An Executor Property for Occupancy of Execution Agents David S. Hollman, Jared Hoberock, Lee Howes, Michael Garland, H. Carter Edwards 2018-11-25 2018-11   SG1, Library Evolution  
P1349R0 Better Integration of Sender Executors Vinnie Falco 2018-11-06 2018-11   SG1, Library Evolution  
P1350R0 Core Language Working Group "tentatively ready" Issues for the November, 2018 (San Diego) meeting William M. Miller 2018-11-07 2018-11   WG21 Adopted 2018-11
P1353R0 Missing Feature Test Macros John Spicer 2017-11-09 2018-11   Core, Library Adopted 2018-11
P1355R0 Exposing a narrow contract for ceil2 Chris Kennelly 2018-11-24 2018-11   SG6, Library Evolution, Library  
P1356R0 Coroutine TS ready issues (25 and 27) Gor Nishanov 2018-11-08 2018-11   WG21  
P1360R0 Towards Machine Learning for C++: Study Group 19 Michael Wong, Vincent Reverdy, Robert Douglas, Emad Barsoum, Sarthak Pati, Peter Goldsborough, Franke Seide 2018-11-26 2018-11   WG21  
P1362R0 Incremental Approach: Coroutine TS + Core Coroutines Gor Nishanov 2018-11-15 2018-11   Evolution  
P1364R0 Fibers under the magnifying glass Gor Nishanov 2018-11-20 2018-11   SG1, Evolution  
P1365R0 Using Coroutine TS with zero dynamic allocations Gor Nishanov 2018-11-24 2018-11   Evolution  
P1367R0 Not All Agents Have TLS Olivier Giroux 2018-11-11 2018-11   SG1  
P1368R0 Multiplication and division of fixed-point numbers S. Davis Herring 2018-11-20 2018-11   SG6  
P1369R0 Guidelines for Formulating Library Semantics Specifications Walter E. Brown 2018-11-25 2018-11   Library Evolution, Library  
P1370R0 Generic numerical algorithm development with(out) numeric_limits Mark Hoemmen, Damien Lebrun-Grandie 2018-11-21 2018-11   SG6, Library Evolution Incubator, Library Evolution  
P1372R0 Giving atomic_ref implementers more flexibility by providing customization points for non-lock-free implementation David S. Hollman 2018-11-25 2018-11   SG1, Library Evolution  
P1373R0 Syntax alternatives for modules Bjarne Stroustrup 2018-11-20 2018-11   Evolution  
P1374R0 Resolving LWG #2307 for C++20: Consistently Explicit Constructors Alisdair Meredith 2018-11-22 2018-11   Evolution, Library Evolution, Library  
P1375R0 More Constrained: Apples or Oranges? On the road to semantic constraint matching Hubert S.K. Tong 2018-11-26 2018-11   Evolution  
P1376R0 Summary of freestanding evening session discussions Ben Craig 2018-11-24 2018-11   WG21  
P1378R0 std::string_literal JeanHeyd Meneide 2018-11-26 2018-11   SG16  
P1380R0 Ambiguity and Insecurities with Three-Way Comparison Lawrence Crowl 2018-11-26 2018-11   Core  
P1381R0 Reference capture of structured bindings Nicolas Lesser 2018-11-26 2018-11   Evolution  

Standard Ranges--Eric Niebler

Coming soon.

Standard Ranges

by Eric Niebler

From the article:

As you may have heard by now, Ranges got merged and will be part of C++20. This is huge news and represents probably the biggest shift the Standard Library has seen since it was first standardized way back in 1998.

This has been a long time coming. Personally, I’ve been working toward this since at least November 2013, when I opined, “In my opinion, it’s time for a range library for the modern world,” in a blog post on input ranges. Since then, I’ve been busy building that modern range library and nailing down its specification with the help of some very talented people.

Future blog posts will discuss how we got here and the gritty details of how the old stuff and the new stuff play together (we’re C++ programmers, we love gritty details), but this post is strictly about the what...

SG20 Education and Recommended Videos for Teaching C++ -- Christopher Di Bella

In today’s blog, we look at both the newly minted Study Group for education in the C++ Standard Committee. We also look at a small number of conference videos that I recommend teachers consider while they’re waiting for this Study Group to produce usable materials.

SG20 Education and Recommended Videos for Teaching C++

by Christopher Di Bella

From the article:

As articulated in P1231, the goal of SG20 is not to provide normative curricula for teaching C++, but rather to provide teaching and curriculum guidelines.

...

Below are a list of conference videos that I’ve compiled for teachers to watch (and will update if recommendations come in). There’s well over a day’s worth of videos below, but these aren’t a random assortment of my favourite conference videos. Rather, they are sessions that communicate values about:

  • teaching people how to write programs using C++, or
  • writing C++ programs using approaches the community agrees produce better code.

Trip Report: C++ Standards Meeting in San Diego, November 2018--Botond Ballo

New trip report.

Trip Report: C++ Standards Meeting in San Diego, November 2018

by Botond Ballo

From the article:

A few weeks ago I attended a meeting of the ISO C++ Standards Committee (also known as WG21) in San Diego, California. This was the third committee meeting in 2018; you can find my reports on preceding meetings here (June 2018, Rapperswil) and here (March 2018, Jacksonville), and earlier ones linked from those. These reports, particularly the Rapperswil one, provide useful context for this post...

San Diego Committee Meeting: A Trip Report--Corentin Jabot

Trip report.

San Diego Committee Meeting: A Trip Report

by Corentin Jabot

From the article:

As I left Rapperswil earlier this year, I said very firmly that I would not go to the San Diego Meeting.

Crossing an ocean to work on C++ 12 hours a day for a week is indeed madness.

And so naturally, I found myself in a San Diego hotel straight from the 60s, to do some C++ for a week. With the exception of the author of this blog, all people there are incredibly smart and energetic, and so a lot of great work was done...

Trip Report: Freestanding in San Diego--Ben Craig

One more report.

Trip Report: Freestanding in San Diego

by Ben Craig

From the article:

All three are dealing with "freestanding". I've been working for the last year or so trying to redefine freestanding in a way that would be useful to more people. I have personal experience using C++ in various operating system kernels / drivers, and a bit of experience working on micro controllers and digital signal processors, so that's where my papers focused. At the CppCon 2018 SG14 meeting, some GPU companies have said that my definitions are useful for their architectures (with some tweaks), and I've heard from several other people that my definitions are even useful in some environments where performance and determinism are key, even when there is an OS. I'm still trying to figure out if and how to incorporate all these groups into one thing that could get standardized.

I pitched "Freestanding Proposal" at my first WG21 meeting was November of 2017 in Albuquerque. I was an unknown then. San Diego was my third WG21 meeting. All the papers and interviews and trip reports have now made it where people were asking me about freestanding quite frequently. There were a few times I got stopped while walking around by someone I had never talked to before, and they knew who I was, and asked about freestanding. I found this very flattering. I'm thrilled (and terrified) that my work is getting such visibility...

Trip report: Fall ISO C++ standards meeting (San Diego) -- Herb Sutter

Fresh from last week's standards meeting:

Trip report: Fall ISO C++ standards meeting (San Diego)

by Herb Sutter

From the article:

On Saturday November 10, the ISO C++ committee completed its fall meeting in San Diego, California, USA, hosted with thanks by Qualcomm. This was the biggest ISO C++ meeting in our 29-year history, with some 180 people at the meeting, representing 12 nations...

Because this is one of the last meetings for adding features to C++20, we gave priority to proposals that might make C++20, and we adopted a number of them for C++20...

2018 San Diego ISO C++ Committee Trip Report

The report is here!

2018 San Diego ISO C++ Committee Trip Report

From the article:

The ISO C++ Committee met in San Diego, California ���� last week to continue work on the next International Standard (IS), C++20. This meeting was the last meeting to consider new proposals for C++20, but existing proposals like modules (on track) and coroutines (questions remain) that are in flight but not merged can still make C++20. We’ll make our final decisions about major language features at the next meeting.