December 2019

Lightning Talks from Meeting C++ 2019 are now online!

The lightning talks from Meeting C++ 2019 are now online!

Meeting C++ Youtube Channel

by Jens Weller

From the article:

A few lightning talks I'd like to point to:

Finding hard to find bugs with Address Sanitizer - Marshall Clow

Consistently Inconsistent - Conor Hoekstra

Why don't the cool kids like OOP? - Jon Kalb

How to initialize x from expression y - Howard Hinnant

C++20: Concepts, the Details--Rainer Grimm

The series continue.

C++20: Concepts, the Details

by Rainer Grimm

From the article:

In my last post C++20: Two Extremes and the Rescue with Concepts, I gave the first motivation for concepts. Concepts put semantic constraints on template parameters. Today, I present different use-cases for concepts in a compact form...

Named Template Arguments--Barry Revzin

It's coming!

Named Template Arguments

by Barry Revzin

From the article:

C++, unlike many other programming languages, doesn’t have named function parameters or named function arguments. I hope it will someday, it’s a language feature that I find has large benefits for readability. Until then, in C++20, we actually have the ability to do a decent approximation not only of named function arguments but also named template arguments...

2019-11 post-Belfast mailing available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup Disposition
N4838 Pre-Belfast Minutes of Meeting Nina Ranns 2019-10-28 2019-11 WG21
N4839 WG21 2019-11 Belfast Minutes of Meeting Nina Ranns 2019-11-19 2019-11 WG21
N4840 Working Draft, C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2019-11-25 2019-11 N4806 WG21
N4841 Editor's Report: C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2019-11-25 2019-11 WG21
N4842 Working Draft, Standard for Programming Language C++ Richard Smith 2019-11-27 2019-11 N4835 WG21
N4843 Editors' Report - Programming Languages - C++ Richard Smith, Thomas Koeppe, Jens Maurer, Dawn Perchik 2019-11-27 2019-11 WG21
N4844 Collated CD 14882 Comments Barry Hedquist 2019-10-22 2019-11 WG21
P0592R4 To boldly suggest an overall plan for C++23 Ville Voutilainen 2019-11-25 2019-11 P0592R3 Evolution, Library Evolution
P0642R4 The Concurrent Invocation Library Mingxin Wang, Wei Chen 2019-11-23 2019-11 P0642R3 SG1, Library Evolution
P0883R2 Fixing Atomic Initialization Nicolai Josuttis 2019-11-08 2019-11 P0883R1 SG1, Library Evolution, Library Adopted 2019-11
P0957R4 PFA: A Generic, Extendable and Efficient Solution for Polymorphic Programming Mingxin Wang 2019-11-23 2019-11 P0957R3 SG7, Library Evolution, Library
P1115R2 Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if Marc Mutz 2019-11-09 2019-11 P1115R1 Library
P1115R3 Improving the Return Value of Erase-Like Algorithms II: Free erase/erase if Marc Mutz 2019-11-25 2019-11 P1115R2 Library
P1179R1 Lifetime safety: Preventing common dangling Herb Sutter 2019-11-22 2019-11 P1179R0 Evolution
P1385R4 A proposal to add linear algebra support to the C++ standard library Guy Davidson, Bob Steagall 2019-11-24 2019-11 P1385R3 Library Evolution
P1391R4 Range constructor for std::string_view Corentin Jabot 2019-11-11 2019-11 P1391R3 Library Evolution, Library Adopted 2019-11
P1394R4 Range constructor for std::span Corentin Jabot, Casey Carter 2019-11-11 2019-11 P1394R3 Library Adopted 2019-11
P1456R1 Move-only views Casey Carter 2019-11-12 2019-11 P1456R0 WG21 Adopted 2019-11
P1478R3 Byte-wise atomic memcpy Hans Boehm 2019-11-18 2019-11 P1478R2 Library Evolution
P1622R3 Mandating the Standard Library: Clause 32 - Thread support library Daniel Sunderland 2019-11-05 2019-11 P1622R2 Library Adopted 2019-11
P1645R1 constexpr for numeric algorithms Ben Deane 2019-05-14 2019-11 P1645R0 Library Evolution, Library Adopted 2019-11
P1664R1 reconstructible_range - a concept for putting ranges back together JeanHeyd Meneide 2019-11-30 2019-11 P1664R0 Library Evolution
P1686R2 Mandating the Standard Library: Clause 27 - Time library Jeff Garland 2019-11-05 2019-11 P1686R1 Library Adopted 2019-11
P1716R3 ranges compare algorithm are over-constrained Tomasz Kamiński 2019-11-07 2019-11 P1716R2 Library Adopted 2019-11
P1718R2 Mandating the Standard Library: Clause 25 - Algorithms library Marshall Clow 2019-11-08 2019-11 P1718R1 Library Adopted 2019-11
P1719R2 Mandating the Standard Library: Clause 26 - Numerics library Marshall Clow 2019-11-08 2019-11 P1719R1 Library Adopted 2019-11
P1720R2 Mandating the Standard Library: Clause 28 - Localization library Marshall Clow 2019-11-07 2019-11 P1720R1 Library Adopted 2019-11
P1721R2 Mandating the Standard Library: Clause 29 - Input/Output library Marshall Clow 2019-11-07 2019-11 P1721R1 Library Adopted 2019-11
P1722R2 Mandating the Standard Library: Clause 30 - Regular Expression library Marshall Clow 2019-11-07 2019-11 P1722R1 Library Adopted 2019-11
P1723R2 Mandating the Standard Library: Clause 31 - Atomics library Marshall Clow, Daniel Sunderland 2019-11-07 2019-11 P1723R1 Library Adopted 2019-11
P1739R3 Avoid template bloat for safe_ranges in combination with 'subrange-y' view adaptors. Hannes Hauswedell 2019-11-24 2019-11 P1739R2 Library
P1774R2 Portable assumptions Timur Doumler 2019-11-25 2019-11 P1774R1 Evolution
P1779R2 ABI isolation for member functions S. Davis Herring 2019-11-25 2019-11 P1779R1 Core
P1787R3 Declarations and where to find them S. Davis Herring 2019-11-25 2019-11 P1787R2 Core
P1788R3 Reuse of the built modules (BMI) Olga Arkhipova 2019-10-29 2019-11 P1788R2 SG15, Core
P1815R1 Translation-unit-local entities S. Davis Herring 2019-11-25 2019-11 P1815R0 Core
P1839R2 Accessing Object Representations Krystian Stasiowski 2019-11-20 2019-11 P1839R1 Core
P1844R1 Enhancement of regex Nozomu Katō 2019-11-22 2019-11 P1844R0 LEWGI
P1862R1 Ranges adaptors for non-copyable iterators Corentin Jabot, Casey Carter 2019-11-11 2019-11 P1862R0 Library Evolution, Library Adopted 2019-11
P1865R1 Add max() to latch and barrier David Olsen, Olivier Giroux 2019-11-09 2019-11 P1865R0 WG21 Adopted 2019-11
P1868R1 Unicorn width: clarifying units of width and precision in std::format Victor Zverovich, Zach Laine 2019-11-24 2019-11 P1868R0 Library
P1869R1 Rename 'condition_variable_any' interruptible wait methods Tomasz Kamiński, Michał Dominiak 2019-11-06 2019-11 P1869R0 Library Adopted 2019-11
P1870R1 forwarding-range is too subtle Barry Revzin 2019-11-25 2019-11 P1870R0 Library Evolution Adopted 2019-11
P1871R1 Concept traits should be named after concepts Barry Revzin 2019-11-25 2019-11 P1871R0 Library Adopted 2019-11
P1874R1 Dynamic Initialization Order of Non-Local Variables in Modules Michael Spencer 2019-11-12 2019-11 P1874R0 Core Adopted 2019-11
P1878R1 Constraining Readable Types Casey Carter 2019-11-14 2019-11 P1878R0 Library Evolution, Library Adopted 2019-11
P1892R1 Extended locale-specific presentation specifiers for std::format Peter Brett 2019-11-07 2019-11 P1892R0 Library Adopted 2019-11
P1897R1 Towards C++23 executors: An initial set of algorithms Lee Howes 2019-11-14 2019-11 P1897R0 SG1
P1902R1 Missing feature-test macros 2017-2019 Barry Revzin 2019-11-25 2019-11 P1902R0 Evolution, Library Evolution Adopted 2019-11
P1907R1 Inconsistencies with non-type template parameters Jens Maurer 2019-11-08 2019-11 P1907R0 Evolution, Core Adopted 2019-11
P1908R1 Reserving Attribute Names for Future Use Corentin Jabot 2019-11-16 2019-11 P1908R0 Evolution
P1919R1 Expanding the Rights in SD-8 Nevin Liber 2019-11-09 2019-11 P1919R0 Library Evolution
P1935R1 A C++ Approach to Physical Units Mateusz Pusz 2019-11-07 2019-11 P1935R0 SG6, SG16, LEWGI, Library Evolution
P1946R0 Allow defaulting comparisons by value Barry Revzin, Casey Carter 2019-11-25 2019-11 Evolution Adopted 2019-11
P1947R0 C++ exceptions and alternatives Bjarne Stroustrup 2019-11-18 2019-11 Evolution, Library Evolution
P1948R0 Modules: Keep the dot Corentin Jabot 2019-11-11 2019-11 SG2, SG15, Evolution
P1949R0 C++ Identifier Syntax using Unicode Standard Annex 31 Steve Downey 2019-11-20 2019-11 SG7, SG16, EWGI, Evolution
P1951R0 Default Arguments for pair's Forwarding Constructor Logan R. Smith 2019-11-17 2019-11 Library
P1953R0 Unicode Identifiers And Unicode Corentin Jabot 2019-11-11 2019-11 SG7, SG16
P1955R0 Top Level Is Constant Evaluated Frank Birbacher 2019-11-03 2019-11 Evolution
P1957R0 Converting from T* to bool should be considered narrowing (re: US 212) Zhihao Yuan 2019-11-18 2019-11 Core, Library
P1959R0 Remove std::weak_equality and std::strong_equality Barry Revzin 2019-11-25 2019-11 Core, Library Adopted 2019-11
P1960R0 NB Comment Changes Reviewed by SG1 David Olsen 2019-11-09 2019-11 WG21 Adopted 2019-11
P1961R0 Harmonizing the definitions of total order for pointers Gašper Ažman 2019-11-05 2019-11 Library Adopted 2019-11
P1962R0 How can you be so certain? Bjarne Stroustrup 2019-11-18 2019-11 Evolution, Library Evolution
P1963R0 Fixing US 313 Billy O'Neal 2019-11-09 2019-11 Library
P1964R0 Casting convertible_to<bool> considered harmful Tim Song 2019-11-15 2019-11 Library Evolution
P1965R0 Blanket Wording for Specifying "Hidden Friends" Walter E Brown, Daniel Sunderland, Tim Song 2019-11-06 2019-11 Library Adopted 2019-11
P1967R0 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2019-11-25 2019-11 Evolution
P1968R0 Core Language Working Group "tentatively ready" issues for the November, 2019 (Belfast) meeting William M. (Mike) Miller 2019-11-07 2019-11 WG21 Adopted 2019-11
P1969R0 Core Language Working Group "ready" issues for the November, 2019 (Belfast) meeting William M. (Mike) Miller 2019-11-08 2019-11 WG21 Adopted 2019-11
P1970R0 Consistency for size() functions Hannes Hauswedell 2019-11-08 2019-11 Library
P1971R0 Core Language Changes for NB Comments at the November, 2019 (Belfast) Meeting William M. (Mike) Miller 2019-11-08 2019-11 WG21 Adopted 2019-11
P1972R0 US105 Check satisfaction of constraints for non-templates when forming pointer to function Jens Maurer 2019-11-09 2019-11 Core Adopted 2019-11
P1975R0 Fixing the wording of parenthesized aggregate-initialization Ville Voutilainen 2019-11-07 2019-11 Evolution, Core Adopted 2019-11
P1976R0 Fixed-size `span` construction from dynamic-size range Tomasz Kamiński 2019-11-11 2019-11 Library Evolution
P1978R0 Rename _default_init functions and do nothing more Andrzej Krzemieński, Nevin Liber, Glen Joseph Fernandes, Peter Dimov 2019-11-19 2019-11 Library Evolution
P1979R0 US086 Resolution Mathias Stearn 2019-11-23 2019-11 Core Adopted 2019-11
P1980R0 Wording for CA 096 Jason Merrill 2019-11-08 2019-11 Core Adopted 2019-11
P1981R0 Rename leap to leap_second Howard Hinnant 2019-11-25 2019-11 Library
P1982R0 Rename link to time_zone_link Howard Hinnant 2019-11-25 2019-11 Library
P1983R0 Wording for GB301, US296, US292, US291, and US283 Tim Song 2019-11-15 2019-11 Library
P1989R0 Range constructor for std::string_view 2: Constrain Harder Corentin Jabot 2019-11-25 2019-11 Library
P1991R0 WG21 2019-11 Belfast Record of Discussion Nina Ranns 2019-11-19 2019-11 WG21
P1993R0 Restore factories to bulk_execute Jared Hoberock 2019-11-21 2019-11 SG1, Library Evolution
P1994R0 elements_view needs its own sentinel Tim Song, Christopher Di Bella 2019-11-25 2019-11 Library
P1995R0 Contracts - Use Cases Joshua Berne, Andrzej Krzemienski, Ryan McDougall, Timur Doumler, Herb Sutter 2019-11-25 2019-11 SG21
P1996R0 Propagated template parameters Dmitry Sokolov 2019-11-24 2019-11 EWGI
P1997R0 Relaxing Restrictions on Arrays Krystian Stasiowski, Theodoric Stier 2019-11-25 2019-11 Evolution
P1998R0 Simple Facility for Lossless Integer Conversion Ryan McDougall 2019-11-25 2019-11 SG6, LEWGI
P1999R0 Process proposal: double-check evolutionary material via a Tentatively Ready status Ville Voutilainen 2019-11-25 2019-11 Evolution, Library Evolution