2022-12 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0901R10 Size feedback in operator new Chris Kennelly 2022-11-09 2022-12 P0901R9 EWG Evolution
P1018R18 C++ Language Evolution status  pandemic edition  2022/07–2022/11 JF Bastien 2022-11-11 2022-12 P1018R17 EWG Evolution,All of WG21
P1018R19 C++ Language Evolution status JF Bastien 2022-11-15 2022-12 P1018R18 EWG Evolution,All of WG21
P1028R4 SG14 status_code and standard error object Niall Douglas 2022-10-28 2022-12 P1028R3 LEWG Library Evolution
P1202R5 Asymmetric Fences David Goldblatt 2022-11-11 2022-12 P1202R4 LWG Library
P1264R2 Revising the wording of stream input operations Louis Dionne 2022-12-04 2022-12 P1264R1 LWG Library
P1478R8 Byte-wise atomic memcpy Hans Boehm 2022-11-14 2022-12 P1478R7 All of WG21
P1619R2 Functions for Testing Boundary Conditions on Integer Operations Lisa Lippincott 2022-11-08 2022-12 P1619R1 LEWG Library Evolution
P2164R8 views::enumerate Corentin Jabot 2022-11-11 2022-12 P2164R7 LWG Library
P2167R3 Improved Proposed Wording for LWG 2114 (contextually convertible to bool) Daniel Krügler 2022-11-02 2022-12 P2167R2 LWG Library
P2248R7 Enabling list-initialization for algorithms Giuseppe D'Angelo 2022-11-13 2022-12 P2248R6 SG6 Numerics,SG9 Ranges,LEWG Library Evolution
P2396R1 Concurrency TS 2 fixes David Goldblatt 2022-11-10 2022-12 P2396R0 LWG Library
P2434R0 Nondeterministic pointer provenance S. Davis Herring 2022-11-16 2022-12   SG22 Compatability,EWG Evolution
P2539R4 Should the output of std::print to a terminal be synchronized with the underlying stream? Victor Zverovich 2022-11-08 2022-12 P2539R3 LWG Library
P2546R3 Debugging Support René Ferdinand Rivera Morell 2022-11-15 2022-12 P2546R2 LEWG Library Evolution
P2548R2 copyable_function Michael Florian Hava 2022-11-08 2022-12 P2548R1 LEWG Library Evolution
P2548R3 copyable_function Michael Florian Hava 2022-11-11 2022-12 P2548R2 LEWG Library Evolution
P2548R4 copyable_function Michael Florian Hava 2022-11-12 2022-12 P2548R3 LEWG Library Evolution,LWG Library
P2552R1 On the ignorability of standard attributes Timur Doumler 2022-11-15 2022-12 P2552R0 EWG Evolution,CWG Core
P2559R1 Plan for Concurrency Technical Specification Version 2 Bryce Adelstein Lelbach 2022-11-16 2022-12 P2559R0 LEWG Library Evolution,LWG Library
P2564R1 consteval needs to propagate up Hal Finkel 2022-11-10 2022-12 P2564R0 EWG Evolution
P2564R2 consteval needs to propagate up Hal Finkel 2022-11-10 2022-12 P2564R1 EWG Evolution
P2564R3 consteval needs to propagate up Barry Revzin 2022-12-04 2022-12 P2564R2 CWG Core
P2570R1 Contract predicates that are not predicates Andrzej Krzemieński 2022-11-14 2022-12 P2570R0 SG21 Contracts
P2588R2 Relax std::barrier phase completion step guarantees Gonzalo Brito 2022-11-07 2022-12 P2588R1 LEWG Library Evolution
P2589R1 static operator[] Nevin Liber 2022-11-10 2022-12 P2589R0 CWG Core
P2602R2 Poison Pills are Too Toxic Barry Revzin 2022-11-07 2022-12 P2602R1 LEWG Library Evolution
P2614R2 Deprecate numeric_limits::has_denorm Matthias Kretz 2022-11-08 2022-12 P2614R1 LWG Library
P2615R1 Meaningful exports S. Davis Herring 2022-11-15 2022-12 P2615R0 EWG Evolution,CWG Core
P2616R1 Making std::atomic notification/wait operations usable in more situations Lewis Baker 2022-11-09 2022-12 P2616R0 SG1 Concurrency and Parallelism
P2616R2 Making std::atomic notification/wait operations usable in more situations Lewis Baker 2022-11-15 2022-12 P2616R1 SG1 Concurrency and Parallelism
P2640R2 Modules: Inner-scope Namespace Entities: Exported or Not? Nathan Sidwell 2022-11-15 2022-12 P2640R1 EWG Evolution
P2644R1 Final Fix of Broken Range based for Loop Rev 1 Nicolai Josuttis 2022-11-13 2022-12 P2644R0 CWG Core
P2647R1 Permitting static constexpr variables in constexpr functions Barry Revzin 2022-11-08 2022-12 P2647R0 EWG Evolution
P2649R0 2022-10 Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2022-11-11 2022-12   LEWG Library Evolution
P2650R0 2022-11 Library Evolution Polls Bryce Adelstein Lelbach 2022-11-17 2022-12   LEWG Library Evolution
P2652R1 Disallow user specialization of allocator_traits Pablo Halpern 2022-11-11 2022-12 P2652R0 LWG Library
P2653R1 Update Annex E based on Unicode 15.0 UAX 31 Steve Downey 2022-10-20 2022-12 P2653R0 SG16 Unicode,CWG Core
P2655R1 common_reference_t of reference_wrapper Should Be a Reference Type Hui Xie 2022-11-11 2022-12 P2655R0 SG9 Ranges,LEWG Library Evolution
P2657R1 C++ is the next C++ Jarrad J. Waterloo 2022-11-14 2022-12 P2657R0 EWG Evolution
P2658R1 temporary storage class specifiers Jarrad J. Waterloo 2022-11-14 2022-12 P2658R0 EWG Evolution
P2659R1 A Proposal to Publish a Technical Specification for Contracts Brian Bi 2022-11-14 2022-12 P2659R0 SG21 Contracts,EWG Evolution
P2664R0 Proposal to extend std::simd with permutation API Daniel Towner 2022-10-21 2022-12   SG1 Concurrency and Parallelism,LEWG Library Evolution,LWG Library,Direction Group
P2674R1 A trait for implicit lifetime types Timur Doumler 2022-11-11 2022-12 P2674R0 CWG Core,LWG Library
P2679R1 Fixing std::start_lifetime_as and std::start_lifetime_as_array Timur Doumler 2022-11-11 2022-12 P2679R0 CWG Core,LWG Library
P2681R0 More Stats Functions Richard Dosselmann 2022-11-07 2022-12   SG6 Numerics,SG19 Machine Learning
P2693R0 Formatting thread::id and stacktrace Corentin Jabot 2022-11-11 2022-12   LEWG Library Evolution
P2695R0 A proposed plan for contracts in C++ Timur Doumler 2022-11-17 2022-12   SG21 Contracts,EWG Evolution
P2696R0 Introduce Cpp17Swappable as additional convenience requirements Daniel Krügler 2022-11-07 2022-12   LWG Library
P2697R0 Interfacing bitset with string_view Michael Florian Hava 2022-11-12 2022-12   LEWG Library Evolution
P2698R0 Unconditional termination is a serious problem Bjarne Stroustrup 2022-11-18 2022-12   SG21 Contracts
P2700R0 Questions on P2680 "Contracts for C++: Prioritizing Safety" Timur Doumler 2022-11-29 2022-12   SG21 Contracts
P2701R0 Translating Linker Input Files to Module Metadata Files Daniel Ruoso 2022-11-08 2022-12   SG15 Tooling
P2702R0 Specifying Importable Headers Daniel Ruoso 2022-11-08 2022-12   SG15 Tooling
P2703R0 C++ Standard Library Ready Issues to be moved in Kona, Nov. 2022 Jonathan Wakely 2022-11-07 2022-12   All of WG21
P2704R0 C++ Standard Library Immediate Issues to be moved in Kona, Nov. 2022 Jonathan Wakely 2022-11-20 2022-12   All of WG21
P2705R0 C++ Library Fundamentals TS Issues to be moved in Kona, Nov. 2022 Jonathan Wakely 2022-11-07 2022-12   All of WG21
P2706R0 Drafting for US 26-061: Redundant specification for defaulted functions Jason Merrill 2022-11-08 2022-12   CWG Core
P2708R0 No Future Fundamentals TSes Alisdair Meredith 2022-11-10 2022-12   LEWG Library Evolution
P2708R1 No Future Fundamentals TSes Alisdair Meredith 2022-11-10 2022-12 P2708R0 LWG Library
P2709R0 Core Language Working Group "ready" Issues for the November, 2022 meeting Jens Maurer 2022-11-11 2022-12   All of WG21
P2710R0 Core Language Working Group NB comment resolutions for the November, 2022 meeting Jens Maurer 2022-11-11 2022-12   All of WG21
P2711R0 Making multi-param (and other converting) constructors of views explicit Ville Voutilainen 2022-11-09 2022-12   LEWG Library Evolution,LWG Library
P2711R1 Making multi-param constructors of views explicit Ville Voutilainen 2022-11-11 2022-12 P2711R0 LWG Library
P2712R0 Classification of Contract-Checking Predicates Joshua Berne 2022-11-14 2022-12   SG21 Contracts
P2718R0 Wording for P2644R1 Fix for Range-based for Loop Joshua Berne 2022-11-11 2022-12   CWG Core
P2722R0 Slides: Beyond operator() (P2511R2 presentation) Zhihao Yuan 2022-11-12 2022-12   LEWG Library Evolution
P2723R0 Zero-initialize objects of automatic storage duration JF Bastien 2022-11-15 2022-12   SG12 Undefined and Unspecified Behavior,SG22 Compatability,EWG Evolution
P2725R0 std::integral_constant Literals Zach Laine 2022-11-18 2022-12   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2726R0 Better std::tuple Indexing Zach Laine 2022-11-18 2022-12   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2727R0 std::iterator_interface Zach Laine 2022-11-20 2022-12   LEWGI SG18: LEWG Incubator,LEWG Library Evolution

The 2023 Call for Speakers opens -- C++ on Sea

Whether you're a first-time speaker, or an old pro, we have a place for you at C++ on Sea in 2023. We'd love to hear from all parts of the community, so if you have something to say - please let us know!

The 2023 Call for Speakers opens

From the article:

The call runs until 8th January 2023. If you're reading this at the start of December that might sound like a long way off, yet - but don't be fooled! Due to time dilation caused by the end of year holiday season, it can sneak up much faster than you expect. So don't delay.

Mike Shah's Modern C++ YouTube Series -- Mike Shah

Mike Shah's Modern C++ YouTube series has recently posted the 100th video. 

The freely available YouTube series adds 1-2 videos a week on Modern C++ or other related C++ topics.

Modern C++ YouTube Series

by Mike Shah

About the videos

The series can be watched from start to finish, or otherwise as a complement to those studying C++ from a text to learn about specific C++ language features.

The Power of Clean C++ -- SonarSource

We use C++ for its raw power. But that power comes at a price: the language is notoriously hard to use correctly and efficiently - especially both at the same time. And that's before you try and make it easy for the next person to read, too!

The Power of Clean C++

by SonarSource

From the announcement:

Regardless of our skill level we could all use a little help writing our best code. In this webinar I'll show how you can be guided by tools that work in your IDE, on your builder server or CI, and as you merge pull requests. Well look at a series of examples of real code - some with less-than-obvious issues and see how these tools work. We’ll get your code clean - and stay clean - with minimal effort and without being overloaded with warnings.

For extra context: this is a Sonar event, so Sonar tools will be shown.

Messaging with 0MQ (ZeroMQ) -- Richard Thomson

Utah C++ Programmers has released a new video:

Messaging with 0MQ (ZeroMQ)

by Richard Thomson

From the video description:

ZeroMQ (also known as ØMQ, 0MQ, or zmq) looks like an embeddable networking library but acts like a concurrency framework. It gives you sockets that carry atomic messages across various transports like in-process, inter-process, TCP, and multicast. You can connect sockets N-to-N with patterns like fan-out, pub-sub, task distribution, and request-reply. It's fast enough to be the fabric for clustered products. Its asynchronous I/O model gives you scalable multicore applications, built as asynchronous message-processing tasks. It has a score of language APIs and runs on most operating systems.

This month, Richard Thomson will give us an introduction to ZeroMQ. We'll look briefly at the low-level library libzmq before switching to the higher level C++ library zmqpp. We'll adapt a simple database for comic book issues into a CRUD server that responds to zmq messages.

https://www.youtube.com/watch?v=r8ip0wKQFGo

The Proxy Pattern -- Rainer Grimm

Untitled.pngPlaying the classics, at arm's length...

The Proxy Pattern

by Rainer Grimm

From the article:

A proxy controls access to another object, allowing you to perform additional operations before or after you access the original object. Sound familiar?

Which idiom is characteristic of C++? Right: RAII (Resource Acquisition Is Initialization). RAII is the C++ way to implement the Proxy Pattern. Here are the facts about the Proxy Pattern. ...