News

2022-01 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0447R18 Introduction of std::hive to the standard library Matt Bentley 2021-12-21 2022-01 P0447R17 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0792R6 function_ref: a non-owning reference to a Callable Vittorio Romeo 2022-01-16 2022-01 P0792R5 LEWG Library Evolution,LWG Library
P1018R14 C++ Language Evolution status  pandemic edition  2021/09–2022/01 JF Bastien 2022-01-13 2022-01 P1018R13 EWG Evolution,All of WG21
P1083R4 Move resource_adaptor from Library TS to the C++ WP Pablo Halpern 2022-01-01 2022-01 P1083R3 LEWG Library Evolution
P1206R7 Conversions from ranges to containers Corentin Jabot 2022-01-21 2022-01 P1206R6 LWG Library
P1240R2 Scalable Reflection Daveed Vandevoorde 2022-01-14 2022-01 P1240R1 SG7 Reflection
P1664R6 reconstructible_range - a concept for putting ranges back together JeanHeyd Meneide 2021-12-25 2022-01 P1664R5 SG9 Ranges,LEWG Library Evolution
P1841R2 Wording for Individually Specializable Numeric Traits Walter E Brown 2022-01-14 2022-01 P1841R1 LWG Library
P1854R3 Conversion to literal encoding should not lead to loss of meaning Corentin Jabot 2022-01-15 2022-01 P1854R2 EWG Evolution
P1885R9 Naming Text Encodings to Demystify Them Corentin Jabot 2022-01-15 2022-01 P1885R8 LEWG Library Evolution
P1899R2 stride_view Christopher Di Bella, Tim Song 2021-12-23 2022-01 P1899R1 SG9 Ranges,LEWG Library Evolution
P2000R3 Direction for ISO C++ Daveed Vandevoorde 2022-01-06 2022-01 P2000R2 All of WG21,Direction Group
P2079R2 System execution context Lee Howes 2022-01-14 2022-01 P2079R1 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2093R12 Formatted output Victor Zverovich 2021-12-20 2022-01 P2093R11 LWG Library
P2165R3 Compatibility between tuple, pair and tuple-like objects Corentin Jabot 2022-01-18 2022-01 P2165R2 LEWG Library Evolution
P2248R4 Enabling list-initialization for algorithms Giuseppe D'Angelo 2022-01-03 2022-01 P2248R3 SG6 Numerics,SG9 Ranges,LEWG Library Evolution
P2249R4 Mixed comparisons for smart pointers Giuseppe D'Angelo 2022-01-11 2022-01 P2249R3 LEWG Library Evolution
P2286R5 Formatting Ranges Barry Revzin 2022-01-15 2022-01 P2286R4 LEWG Library Evolution
P2286R6 Formatting Ranges Barry Revzin 2022-01-19 2022-01 P2286R5 LEWG Library Evolution
P2300R4 `std::execution` Michał Dominiak 2022-01-19 2022-01 P2300R3 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2302R3 std::ranges::contains Christopher Di Bella 2022-01-19 2022-01 P2302R2 LEWG Library Evolution
P2303R4 Basic lambdas for C Jens Gustedt 2021-12-24 2022-01 P2303R3 SG22 Compatability
P2304R3 Improve type generic programming Jens Gustedt 2021-12-24 2022-01 P2304R2 SG22 Compatability
P2305R4 Type inference for variable definitions and function returns Jens Gustedt 2021-12-24 2022-01 P2305R3 SG22 Compatability
P2306R3 Type-generic lambdas Jens Gustedt 2021-12-24 2022-01 P2306R2 SG22 Compatability
P2310R1 Revise spelling of keywords Jens Gustedt 2021-12-31 2022-01 P2310R0 SG22 Compatability
P2311R2 Make false and true first-class language features Jens Gustedt 2021-12-30 2022-01 P2311R1 SG22 Compatability
P2324R2 Labels at the end of compound statements (C compatibility) Martin Uecker 2022-01-14 2022-01 P2324R1 SG22 Compatability,CWG Core
P2363R3 Extending associative containers with the remaining heterogeneous overloads Konstantin Boyarinov 2022-01-19 2022-01 P2363R2 LEWG Library Evolution
P2370R2 Stacktrace from exception Andrei Nekrashevich 2022-01-11 2022-01 P2370R1 LEWG Library Evolution,LWG Library
P2375R1 Generalisation of nth_element to a range of nths Johan Lundberg 2022-01-14 2022-01 P2375R0 SG9 Ranges,EWG Evolution
P2404R1 Move-only types for equality_comparable_with, totally_ordered_with, and three_way_comparable_with Justin Bassett 2021-12-24 2022-01 P2404R0 SG9 Ranges,LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P2404R2 Move-only types for equality_comparable_with, totally_ordered_with, and three_way_comparable_with Justin Bassett 2022-01-19 2022-01 P2404R1 SG9 Ranges,LEWGI SG18: LEWG Incubator,LEWG Library Evolution,LWG Library
P2424R0 Abbreviated Parameters Mihail Naydenov 2022-01-14 2022-01   EWGI SG17: EWG Incubator
P2437R1 Support for #warning Aaron Ballman 2022-01-13 2022-01 P2437R0 CWG Core
P2447R2 std::span and the missing constructor Federico Kircheis 2022-01-21 2022-01 P2447R1 LEWG Library Evolution
P2448R1 Relaxing some constexpr restrictions Barry Revzin 2022-01-15 2022-01 P2448R0 CWG Core
P2457R0 2021 December Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2022-01-14 2022-01   LEWG Library Evolution
P2458R0 2022 January Library Evolution Polls Bryce Adelstein Lelbach 2022-01-20 2022-01   LEWG Library Evolution
P2468R2 The Equality Operator You Are Looking For Barry Revzin, Bjarne Stroustrup, Cameron DaCamara, Daveed Vandevoorde, Gabriel Dos Reis, Herb Sutter, Jason Merrill, Jonathan Caves, Richard Smith, Ville Voutilainen 2022-01-14 2022-01 P2468R1 EWG Evolution,CWG Core
P2474R1 views::repeat Michał Dominiak 2022-01-18 2022-01 P2474R0 SG9 Ranges,LEWG Library Evolution
P2494R1 Relaxing range adaptors to allow for move only types Michał Dominiak 2022-01-17 2022-01 P2494R0 SG9 Ranges,LEWG Library Evolution
P2498R1 Forward compatibility of text_encoding with additional encoding registries Peter Brett 2022-01-14 2022-01 P2498R0 SG16 Unicode,LEWG Library Evolution
P2507R1 Limit [[assume]] to conditional-expressions Peter Brett 2022-01-04 2022-01 P2507R0 EWG Evolution
P2508R1 Exposing std::basic-format-string Barry Revzin 2022-01-18 2022-01 P2508R0 LEWG Library Evolution
P2511R0 Beyond operator(): NTTP callables in type-erased call wrappers Zhihao Yuan 2022-01-14 2022-01   LEWG Library Evolution
P2512R0 SG16: Unicode meeting summaries 2021-06-09 through 2021-12-15 Tom Honermann 2021-12-23 2022-01   SG16 Unicode
P2513R0 char8_t Compatibility and Portability Fixes JeanHeyd Meneide 2022-01-09 2022-01   SG16 Unicode,EWG Evolution
P2514R0 std::breakpoint René Ferdinand Rivera Morell 2022-01-02 2022-01   SG15 Tooling,LEWG Library Evolution
P2515R0 std::is_debugger_present René Ferdinand Rivera Morell 2022-01-02 2022-01   SG15 Tooling,LEWG Library Evolution
P2516R0 string_view is implicitly convertible from what? Victor Zverovich 2022-01-07 2022-01   LEWG Library Evolution
P2517R0 Add a conditional noexcept specification to std::apply Hewill Kang 2022-01-14 2022-01   LEWG Library Evolution
P2520R0 move_iterator should be a random access iterator Barry Revzin 2022-01-15 2022-01   LEWG Library Evolution
P2521R0 Contract support -- Working Paper Andrzej Krzemieński 2022-01-17 2022-01   SG21 Contracts
P2523R0 Request for re-inclusion of std::hive proposal in C++23 Matt Bentley 2022-01-14 2022-01   SG14 Low Latency,LEWG Library Evolution
P2524R0 SG14: Low Latency/Games/Embedded/Finance/Simulation 2020/12/09-2022/01/12 Michael Wong 2022-01-15 2022-01   SG14 Low Latency
P2525R0 SG19: Machine Learning Meeting Minutes 2020/12/10-2022/01/13 Michael Wong 2022-01-15 2022-01   SG19 Machine Learning
P2527R0 std::variant_alternative_index and std::variant_alternative_index_v Alex Christensen 2022-01-18 2022-01   LEWGI SG18: LEWG Incubator

C++20 Concurrency — Part 2: jthreads--Gajendra Gulgulia

More convenience.

C++20 Concurrency — Part 2: jthreads

by Gajendra Gulgulia

From the article:

In this part of the issue, I’ll discuss about the new std::jthread that helps us avoid the boilerplate code for joining the conventional std::thread in the first section. In the end, I’ll also mention about the std::swap algorithm’s specialization introduced in C++20 to swap the underlying thread handles associated with std::jthread ...

20 Smaller yet Handy C++20 Features--Bartlomiej Filipek

And handy they are.

20 Smaller yet Handy C++20 Features

by Bartlomiej Filipek

From the article:

C++20 is huge and filled with lots of large features. Just to mention a few: Modules, Coroutines, Concepts, Ranges, Calendar & Timezone, Formatting library.

But, as you know, that’s not all.

Depending on how we count, C++20 brought around 80 Library features and 70 language changes, so there’s a lot to cover smile

In this article, I’ll show you 20 smaller C++20 things that are very handy and good to know. Ten language elements, and ten more for the Standard Library. Most of them with a cool example.

Let’s jump right into the text!

Improving Stability with Modern C++, Part 4 — Memory Management

Smart pointers

Improving Stability with Modern C++, Part 4 — Memory Management

by Ralph Kootker

From the article

When we started learning C++, we were all taught that every new needs a corresponding delete. But sometimes we'd forget, or some code might throw an exception we weren't ready for, and then we'd leak memory. [...] With rare exceptions, C++ programmers should not have to write new or delete ever again.

C++ at the end of 2021 -- Bartlomiej Filipek

10th edition of “C++ at the end”!

C++ at the end of 2021 @C++ Stories

by Bartlomiej Filipek

About the blog

See what happened this year in the C++ World!

New features, plans for the language, updated tools and compilers, conferences, books, and more!

What was the most important event this year? The pandemic? C++20 adoption? Ongoing work for C++23 or something else?

Outcome enters sustaining phase, goes ABI stable--Niall Douglas

Will you use it?

Outcome enters sustaining phase, goes ABI stable

by Niall Douglas

From the article:

After three years of maturing, I am pleased to announce that the Spring release of Outcome, an alternative error handling framework, will enter its sustaining phase and thus it will be able to formally guarantee ABI stability going forth. ABI stability is tested per commit by CI and the specifics of the guarantees is documented here...

2021 C++ Standardization Highlights--Botond Ballo

Did you follow?

2021 C++ Standardization Highlights

by Botond Ballo

From the article:

The ISO C++ Standards Committee (also known as WG21) has not met in person since its February 2020 meeting in Prague, which I wrote about here.

However, the committee and its subgroups have continued their work through remote collaboration, and a number of notable proposals have been adopted into C++23, the next language version, in this way, with many others in the pipeline.

In this post, I will outline some of the highlights of the committee’s work in 2021. (The post will also cover some material from the latter part of 2020, a period when remote collaboration was already underway but which I have not covered in any previous post.) I’ve been less involved in the committee than before, so this post will not be as comprehensive as my previous trip reports, but I hope to share the proposals I’ve found most notable...

C++ on Sea 2022 -- Phil Nash

Announcing dates and keynote speakers for C++ on Sea 2022!

C++ on Sea 2022

by Phil Nash

From the article:

Yes, C++ on Sea is back by the sea! Or at least that is the current plan. We have booked the Leas Cliff Hall, once again, for July 4th-7th 2022. We're now busy, behind the scenes, working out all the details. We'll have updates first thing in the new year when we'll also open the call for speakers.