March 2022

2022-03 Mailing Available

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


WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4908 Working Draft, C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2022-02-19 2022-03   All of WG21
N4909 Editor's Report: C++ Extensions for Library Fundamentals, Version 3 Thomas Köppe 2022-02-19 2022-03   All of WG21
N4910 Working Draft, Standard for Programming Language C++ Thomas Köppe 2022-03-17 2022-03   All of WG21
N4911 Editors' Report - Programming Languages - C++ Thomas Köppe 2022-03-17 2022-03   All of WG21
P0009R16 MDSPAN Christian Trott 2022-03-15 2022-03 P0009R15 LWG Library
P0957R6 Proxy: A Polymorphic Programming Library Mingxin Wang 2022-03-15 2022-03 P0957R5 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P1083R5 Move resource_adaptor from Library TS to the C++ WP Pablo Halpern 2022-02-24 2022-03 P1083R4 LEWG Library Evolution
P1684R1 mdarray: An Owning Multidimensional Array Analog of mdspan Christian Trott 2022-03-20 2022-03 P1684R0 LEWG Library Evolution
P1708R6 Simple Statistical Functions Richard Dosselman 2022-03-15 2022-03 P1708R5 SG6 Numerics,SG19 Machine Learning,LEWG Library Evolution
P1839R4 Accessing Object Representations Krystian Stasiowski 2022-03-16 2022-03 P1839R3 CWG Core
P2264R3 Make assert() macro user friendly for C and C++ Peter Sommerlad 2022-02-27 2022-03 P2264R2 SG22 Compatability,LEWG Library Evolution
P2290R3 Delimited escape sequences Corentin Jabot 2022-02-25 2022-03 P2290R2 SG22 Compatability,CWG Core
P2465R3 Standard Library Modules std and std.compat Stephan T. Lavavej 2022-03-11 2022-03 P2465R2 CWG Core,LWG Library
P2510R1 Formatting pointers Mark de Wever 2022-03-20 2022-03 P2510R0 LWG Library
P2511R1 Beyond operator(): NTTP callables in type-erased call wrappers Zhihao Yuan 2022-03-15 2022-03 P2511R0 LEWG Library Evolution
P2521R2 Contract support -- Working Paper Andrzej Krzemieński 2022-03-15 2022-03 P2521R1 SG21 Contracts
P2539R0 Should the output of std::print to a terminal be synchronized with the underlying stream? Victor Zverovich 2022-03-11 2022-03   LEWG Library Evolution
P2540R1 Empty Product for certain Views Steve Downey 2022-03-14 2022-03 P2540R0 SG9 Ranges,LEWG Library Evolution
P2553R1 Make mdspan size_type controllable Christian Trott 2022-03-15 2022-03 P2553R0 LEWG Library Evolution,LWG Library
P2555R1 Naming improvements for std::execution Jens Maurer 2022-03-13 2022-03 P2555R0 LEWG Library Evolution
P2558R0 Add @, $, and ` to the basic character set Steve Downey 2022-03-16 2022-03   SG16 Unicode,EWGI SG17: EWG Incubator,SG22 Compatability
P2560R0 Comparing value- and type-based reflection Matúš Chochlı́k 2022-02-23 2022-03   SG7 Reflection
P2562R0 constexpr Stable Sorting Oliver Rosten 2022-03-09 2022-03   LEWG Library Evolution,LWG Library
P2564R0 consteval needs to propagate up Barry Revzin 2022-03-14 2022-03   EWG Evolution
P2565R0 Supporting User-Defined Attributes Bret Brown 2022-03-15 2022-03   SG15 Tooling
P2568R0 Proposal of std::map::at_ptr Andrew Tomazos 2022-03-18 2022-03   LEWG Library Evolution
P2569R0 *_HAS_SUBNORM==0 implies what? Fred Tydeman 2022-03-18 2022-03   SG6 Numerics,SG22 Compatability

WinReg: Simplify Windows Registry Programming in C++ -- Giovanni Dicanio

Windows Registry programming using the native C API is cumbersome and bug-prone. Fortunately, you can simplify that using a modern C++ library like WinReg.

Simplifying Windows Registry Programming with the C++ WinReg Library

by Giovanni Dicanio

From the blog post:

WinReg is a modern C++ library that exposes a high-level public interface to simplify the access to the Windows Registry.


Why not to use the STL?--Jeremy Ong

Why do you think?

Twitter thread

by Jeremy Ong

From the thread:

With all the discussion on the STL, I wanted to make a quick thread to summarize the main reasons why many AAA studios (correctly) opt out of the STL. This isn't to say the STL isn't for *anyone*, but the reasons to avoid using it aren't unfounded either...

Ways to Refactor Toggle/Boolean Parameters in C++--Bartlomiej Filipek

What's your preferred way?

Ways to Refactor Toggle/Boolean Parameters in C++

by Bartlomiej Filipek

From the article:

Boolean parameters in a function might be misleading and decrease its readability. If you have a poorly named function like:

DoImportantStuff(true, false, true, false);

As you can imagine, it’s not clear what all those parameters mean? What’s the first true? What does the last false mean? Can we improve code in such cases?

Let’s have a look at possible improvements...

CppCon: Announcing safety policy

On the CppCon blog:

Announcing CppCon Safety Policy

From the article:

The point of CppCon is to learn and connect with colleagues. The Standard C++ Foundation Board is committed to ensuring that you can participate in an environment that is welcoming and safe. ... We take all reports of misconduct seriously, even if it does not occur at CppCon but could affect CppCon attendees.

Next week: Meeting C++ online job fair

Next week the first online C++ job fair in 2022 is happening on Tuesday and Wednesday featuring 7 C++ employers, more might join. You can share your CV/resume with the sponsors of the event.

Meeting C++ online job fair

by Jens Weller

From the article:

Join the online C++ job fair on the 15th and 16th March organized by Meeting C++. The job fair will start at 15:00 CET and go until 18:00 on March 15th, on March 16th the event will be in the evening from 20 - 23:00 CET. Companies can choose to be present on both or only one of these events, or to only receive CVs through Meeting C++.