Standardization

2022-04 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0429R8 A Standard flat_map Zach Laine 2022-04-18 2022-04 P0429R7 LWG Library
P0957R7 Proxy: A Polymorphic Programming Library Mingxin Wang 2022-04-19 2022-04 P0957R6 LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P1061R2 Structured Bindings can introduce a Pack Barry Revzin 2022-04-22 2022-04 P1061R1 EWG Evolution
P1169R4 static operator() Barry Revzin 2022-04-10 2022-04 P1169R3 CWG Core
P1222R3 A Standard flat_set Zach Laine 2022-04-18 2022-04 P1222R2 LWG Library
P1223R4 find_last Zach Laine 2022-04-15 2022-04 P1223R3 LEWG Library Evolution,LWG Library
P1467R9 Extended floating-point types and standard names David Olsen 2022-04-22 2022-04 P1467R8 CWG Core,LWG Library
P1642R8 Freestanding Library: Easy [utilities], [ranges], and [iterators] Ben Craig 2022-04-13 2022-04 P1642R7 LWG Library
P1673R7 A free function linear algebra interface based on the BLAS Mark Hoemmen 2022-04-14 2022-04 P1673R6 LEWG Library Evolution
P1674R1 Evolving a Standard C++ Linear Algebra Library from the BLAS Mark Hoemmen 2022-04-14 2022-04 P1674R0 LEWG Library Evolution
P1684R2 mdarray: An Owning Multidimensional Array Analog of mdspan Christian Trott 2022-04-24 2022-04 P1684R1 LEWG Library Evolution
P1967R5 #embed - a simple, scannable preprocessor-based resource acquisition method JeanHeyd Meneide 2022-04-13 2022-04 P1967R4 EWG Evolution
P2071R2 Named universal character escapes Tom Honermann 2022-03-27 2022-04 P2071R1 CWG Core
P2093R14 Formatted output Victor Zverovich 2022-03-25 2022-04 P2093R13 LWG Library
P2174R1 Compound Literals Zhihao Yuan 2022-04-15 2022-04 P2174R0 EWG Evolution
P2198R5 Freestanding Feature-Test Macros and Implementation-Defined Extensions Ben Craig 2022-04-13 2022-04 P2198R4 LWG Library
P2266R3 Simpler implicit move Arthur O'Dwyer 2022-03-26 2022-04 P2266R2 CWG Core
P2278R3 cbegin should always return a constant iterator Barry Revzin 2022-04-11 2022-04 P2278R2 LEWG Library Evolution
P2280R4 Using unknown references in constant expressions Barry Revzin 2022-04-10 2022-04 P2280R3 CWG Core
P2286R7 Formatting Ranges Barry Revzin 2022-04-22 2022-04 P2286R6 LEWG Library Evolution
P2300R5 `std::execution` Michał Dominiak 2022-04-22 2022-04 P2300R4 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2302R4 std::ranges::contains Christopher Di Bella 2022-04-16 2022-04 P2302R3 All of WG21
P2305R5 Type inference for object definitions Jens Gustedt 2022-04-08 2022-04 P2305R4 SG22 Compatability
P2322R6 ranges::fold Barry Revzin 2022-04-22 2022-04 P2322R5 LEWG Library Evolution
P2400R3 Library Evolution Report: 2021-09-28 to 2022-01-25 Bryce Adelstein Lelbach 2022-04-21 2022-04 P2400R2 All of WG21
P2408R5 Ranges iterators as inputs to non-Ranges algorithms David Olsen 2022-04-22 2022-04 P2408R4 LWG Library
P2472R2 make function_ref more functional Jarrad J. Waterloo 2022-04-14 2022-04 P2472R1 LEWG Library Evolution
P2505R2 Monadic Functions for std::expected Jeff Garland 2022-04-15 2022-04 P2505R1 LEWG Library Evolution,LWG Library
P2510R2 Formatting pointers Mark de Wever 2022-04-14 2022-04 P2510R1 LWG Library
P2538R1 ADL-proof std::projected Arthur O'Dwyer 2022-04-01 2022-04 P2538R0 LEWG Library Evolution,LWG Library
P2539R1 Should the output of std::print to a terminal be synchronized with the underlying stream? Victor Zverovich 2022-04-11 2022-04 P2539R0 LEWG Library Evolution
P2542R1 views::concat Hui Xie 2022-03-28 2022-04 P2542R0 SG9 Ranges,LEWG Library Evolution
P2546R1 Debugging Support René Ferdinand Rivera Morell 2022-04-10 2022-04 P2546R0 LEWG Library Evolution
P2559R0 Plan for Concurrency Technical Specification Version 2 Bryce Adelstein Lelbach 2022-04-01 2022-04   SG1 Concurrency and Parallelism,EWG Evolution,LEWG Library Evolution
P2573R0 = delete("should have a reason"); Yihe Li 2022-04-14 2022-04   EWGI SG17: EWG Incubator,EWG Evolution
P2574R0 2022-05 Library Evolution Polls Bryce Adelstein Lelbach 2022-04-22 2022-04   LEWG Library Evolution
P2576R0 The constexpr specifier for object definitions Jens Gustedt 2022-04-08 2022-04   SG22 Compatability
P2577R0 C++ Modules Discovery in Prebuilt Library Releases Daniel Ruoso 2022-04-11 2022-04   SG15 Tooling

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

Open letter for new C++ scope/charter. -- René Ferdinand Rivera Morell

Should the C++ standard change to include its ecosystem?

Open letter for new C++ scope/charter

by René Ferdinand Rivera Morell

From the letter:

We are writing asking for consideration towards changes to the wording of the "ISO/IEC JTC1/SC22/WG21 STATEMENT OF SCOPE". Which is currently stated as:

Development and maintenance of ISO/IEC Standards, Technical Specifications, and Technical Reports related to the programming language C++.

Reddit discussion here.

2022-02 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
N4903 PL22.16/WG21 agenda: 7 February 2022, Virtual Meeting John Spicer 2022-01-24 2022-02   All of WG21
N4904 WG21 admin telecon meetings: 2022 summer and autumn (revision 1) Herb Sutter 2022-01-24 2022-02   All of WG21
N4905 WG21 2022-01 Admin telecon minutes Nina Ranns 2022-02-01 2022-02   All of WG21
N4906 Transactional Memory TS2 Michael Wong 2022-02-18 2022-02   All of WG21
N4907 WG21 2022-02 Virtual Meeting Minutes of Meeting Nina Ranns 2022-02-17 2022-02   All of WG21
P0009R15 MDSPAN Christian Trott 2022-02-14 2022-02 P0009R14 LWG Library
P0323R12 std::expected JF Bastien 2022-02-21 2022-02 P0323R11 LWG Library
P0447R19 Introduction of std::hive to the standard library Matt Bentley 2022-02-17 2022-02 P0447R18 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0561R6 An RAII Interface for Deferred Reclamation Geoffrey Romer 2022-02-02 2022-02 P0561R5 LWG Library
P0792R7 function_ref: a non-owning reference to a Callable Vittorio Romeo 2022-02-14 2022-02 P0792R6 LEWG Library Evolution,LWG Library
P0792R8 function_ref: a non-owning reference to a Callable Vittorio Romeo 2022-02-16 2022-02 P0792R7 LEWG Library Evolution,LWG Library
P0957R5 Proxy: A Polymorphic Programming Library Mingxin Wang 2022-02-14 2022-02 P0957R4 LEWGI SG18: LEWG Incubator
P1018R15 C++ Language Evolution status  pandemic edition  2022/01–2022/02 JF Bastien 2022-02-14 2022-02 P1018R14 EWG Evolution,All of WG21
P1202R4 Asymmetric Fences David Goldblatt 2022-02-14 2022-02 P1202R3 LEWG Library Evolution,LWG Library
P1223R3 find_last Zach Laine 2022-02-14 2022-02 P1223R2 LEWG Library Evolution,LWG Library
P1478R7 Byte-wise atomic memcpy Hans Boehm 2022-02-05 2022-02 P1478R6 LWG Library
P1664R7 reconstructible_range - a concept for putting ranges back together JeanHeyd Meneide 2022-02-15 2022-02 P1664R6 SG9 Ranges,LEWG Library Evolution
P1774R6 Portable assumptions Timur Doumler 2022-02-15 2022-02 P1774R5 CWG Core
P1839R3 Accessing Object Representations Krystian Stasiowski 2022-02-18 2022-02 P1839R2 CWG Core
P1841R3 Wording for Individually Specializable Numeric Traits Walter E Brown 2022-02-14 2022-02 P1841R2 LWG Library
P1885R10 Naming Text Encodings to Demystify Them Corentin Jabot 2022-02-14 2022-02 P1885R9 LEWG Library Evolution
P2093R13 Formatted output Victor Zverovich 2022-02-09 2022-02 P2093R12 LWG Library
P2214R2 A Plan for C++23 Ranges Barry Revzin 2022-02-18 2022-02 P2214R1 LEWG Library Evolution
P2416R2 Presentation of requirements in the standard library Jens Maurer 2022-02-14 2022-02 P2416R1 LWG Library
P2438R2 std::string::substr() && Federico Kircheis 2022-02-04 2022-02 P2438R1 LWG Library
P2441R2 views::join_with Barry Revzin 2022-01-28 2022-02 P2441R1 LEWG Library Evolution
P2446R2 views::as_rvalue Barry Revzin 2022-02-14 2022-02 P2446R1 LEWG Library Evolution
P2448R2 Relaxing some constexpr restrictions Barry Revzin 2022-01-27 2022-02 P2448R1 CWG Core
P2452R0 2021 October Library Evolution and Concurrency Polls on Networking and Executors Bryce Adelstein Lelbach 2022-02-15 2022-02   LEWG Library Evolution
P2453R0 2021 October Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2022-02-15 2022-02   SG4 Networking,LEWG Library Evolution
P2458R1 2022 January Library Evolution Polls Bryce Adelstein Lelbach 2022-01-26 2022-02 P2458R0 LEWG Library Evolution
P2459R0 2022 January Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2022-02-15 2022-02   LEWG Library Evolution
P2465R2 Standard Library Modules std and std.compat Stephan T. Lavavej 2022-02-02 2022-02 P2465R1 CWG Core,LWG Library
P2467R1 Support exclusive mode for fstreams Jonathan Wakely 2022-02-17 2022-02 P2467R0 LWG Library
P2472R1 make function_ref more functional Jarrad J. Waterloo 2022-02-15 2022-02 P2472R0 LEWG Library Evolution
P2495R0 Interfacing stringstreams with string_view Michael Hava 2022-02-13 2022-02   LEWG Library Evolution
P2502R1 std::generator: Synchronous Coroutine Generator for Ranges Casey Carter 2022-01-25 2022-02 P2502R0 LEWG Library Evolution
P2505R1 Monadic Functions for std::expected Jeff Garland 2022-02-15 2022-02 P2505R0 LEWG Library Evolution,LWG Library
P2506R0 std::lazy: a coroutine for deferred execution Casey Carter 2022-02-02 2022-02   LEWG Library Evolution
P2513R1 char8_t Compatibility and Portability Fix JeanHeyd Meneide 2022-02-14 2022-02 P2513R0 EWG Evolution
P2521R1 Contract support -- Working Paper Andrzej Krzemieński 2022-02-15 2022-02 P2521R0 SG21 Contracts
P2528R0 C/C++ Identifier Security using Unicode Standard Annex 39 Reini Urban 2022-01-22 2022-02   SG16 Unicode,EWG Evolution,CWG Core
P2529R0 generator should have T&& reference_type Mathias Stearn 2022-01-25 2022-02   LEWG Library Evolution
P2530R0 Why Hazard Pointers should be in C++26 Maged Michael 2022-02-14 2022-02   SG1 Concurrency and Parallelism
P2531R0 C++ Standard Library Issues to be moved in Virtual Plenary, Feb. 2022 Jonathan Wakely 2022-01-31 2022-02   All of WG21
P2532R0 Removing exception_ptr from the Receiver Concepts Eric Niebler 2022-02-01 2022-02   LEWG Library Evolution
P2533R0 Core Language Working Group "ready" Issues for the February, 2022 Meeting William M. (Mike) Miller 2022-02-21 2022-02   All of WG21
P2534R0 Slides: function_ref in the wild (P0792R7 presentation) Zhihao Yuan 2022-02-16 2022-02   LEWG Library Evolution
P2535R0 Message fences Olivier Giroux 2022-02-02 2022-02   SG1 Concurrency and Parallelism
P2536R0 Distributing C++ Module Libraries with dependencies json files. Olga Arkhipova 2022-02-03 2022-02   SG15 Tooling
P2537R0 Relax va_start Requirements to Match C JeanHeyd Meneide 2022-02-14 2022-02   LEWG Library Evolution
P2538R0 ADL-proof std::projected Arthur O'Dwyer 2022-02-15 2022-02   LEWG Library Evolution,LWG Library
P2540R0 Empty Product for certain Views Steve Downey 2022-02-15 2022-02   SG9 Ranges
P2541R0 Consider renaming remove_quals Corentin Jabot 2022-02-15 2022-02   SG22 Compatability
P2542R0 views::concat Hui Xie 2022-02-18 2022-02   SG9 Ranges,LEWG Library Evolution
P2544R0 C++ exceptions are becoming more and more problematic Thomas Neumann 2022-02-12 2022-02   EWGI SG17: EWG Incubator
P2545R0 Why RCU Should be in C++26 Paul E. McKenney 2022-02-14 2022-02   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2546R0 Debugging Support René Ferdinand Rivera Morell 2022-02-14 2022-02   SG15 Tooling,LEWG Library Evolution
P2547R0 Language support for customisable functions Lewis Baker 2022-02-15 2022-02   EWG Evolution
P2549R0 std::unexpected should have error() as member accessor Yihe Li 2022-02-13 2022-02   LEWGI SG18: LEWG Incubator,LEWG Library Evolution
P2550R0 ranges::copy should say output_iterator somewhere Barry Revzin 2022-02-16 2022-02   LWG Library
P2551R0 Clarify intent of P1841 numeric traits Matthias Kretz 2022-02-14 2022-02   LEWG Library Evolution
P2552R0 On the ignorability of standard attributes Timur Doumler 2022-02-16 2022-02   EWG Evolution
P2553R0 Make mdspan size_type controllable Christian Trott 2022-02-14 2022-02   LEWG Library Evolution
P2554R0 C-Array Interoperability of MDSpan Christian Trott 2022-02-14 2022-02   LEWG Library Evolution
P2555R0 Naming improvements for std::execution Jens Maurer 2022-02-15 2022-02   LEWG Library Evolution
P2557R0 WG21 2022-02 Virtual Meeting Record of Discussion Nina Ranns 2022-02-17 2022-02   All of WG21

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++ 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?

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...

2021-12 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0493R3 Atomic maximum/minimum Al Grant 2021-12-17 2021-12 P0493R2 SG1 Concurrency and Parallelism
P1467R8 Extended floating-point types and standard names David Olsen 2021-12-16 2021-12 P1467R7 EWG Evolution,LEWG Library Evolution
P1673R6 A free function linear algebra interface based on the BLAS Mark Hoemmen 2021-12-14 2021-12 P1673R5 LEWG Library Evolution
P1774R5 Portable assumptions Timur Doumler 2021-12-16 2021-12 P1774R4 EWG Evolution,CWG Core
P2093R11 Formatted output Victor Zverovich 2021-12-06 2021-12 P2093R10 LWG Library
P2152R1 Querying the alignment of an object Inbal Levi 2021-11-30 2021-12 P2152R0 SG22 Compatability,EWG Evolution
P2173R1 Attributes on Lambda-Expressions Daveed Vandevoorde 2021-12-09 2021-12 P2173R0 All of WG21
P2198R4 Freestanding Feature-Test Macros and Implementation-Defined Extensions Ben Craig 2021-12-13 2021-12 P2198R3 SG10 Feature Test,LEWG Library Evolution
P2248R3 Enabling list-initialization for algorithms Giuseppe D'Angelo 2021-12-17 2021-12 P2248R2 SG6 Numerics,SG9 Ranges,LEWG Library Evolution
P2283R2 constexpr for specialized memory algorithms Michael Schellenberger Costa 2021-11-25 2021-12 P2283R1 LEWG Library Evolution
P2286R4 Formatting Ranges Barry Revzin 2021-12-17 2021-12 P2286R3 LEWG Library Evolution
P2300R3 `std::execution` Michał Dominiak 2021-12-05 2021-12 P2300R2 SG1 Concurrency and Parallelism,LEWG Library Evolution
P2302R2 std::ranges::contains Christopher Di Bella 2021-12-12 2021-12 P2302R1 SG9 Ranges
P2329R0 Move, Copy, and Locality at Scale Pablo Halpern 2021-12-13 2021-12   All of WG21
P2363R2 Extending associative containers with the remaining heterogeneous overloads Konstantin Boyarinov 2021-12-07 2021-12 P2363R1 LEWG Library Evolution
P2374R2 views::cartesian_product Sy Brand 2021-12-13 2021-12 P2374R1 SG9 Ranges,LEWG Library Evolution
P2374R3 views::cartesian_product Sy Brand 2021-12-13 2021-12 P2374R2 LEWG Library Evolution
P2387R3 Pipe support for user-defined range adaptors Barry Revzin 2021-12-17 2021-12 P2387R2 LEWG Library Evolution
P2416R1 Presentation of requirements in the standard library Jens Maurer 2021-12-15 2021-12 P2416R0 LWG Library
P2438R1 std::string::substr() && Federico Kircheis 2021-11-30 2021-12 P2438R0 LEWG Library Evolution
P2440R1 ranges::iota, ranges::shift_left, and ranges::shift_right Tim Song 2021-12-05 2021-12 P2440R0 LWG Library
P2442R1 Windowing range adaptors: views::chunk and views::slide Tim Song 2021-12-05 2021-12 P2442R0 LWG Library
P2447R1 std::span and the missing constructor Federico Kircheis 2021-12-17 2021-12 P2447R0 LEWG Library Evolution
P2455R0 2021 November Library Evolution Poll Outcomes Bryce Adelstein Lelbach 2021-12-08 2021-12   LEWG Library Evolution
P2456R0 2021 December Library Evolution Polls Bryce Adelstein Lelbach 2021-12-08 2021-12   LEWG Library Evolution
P2468R1 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 2021-12-16 2021-12 P2468R0 CWG Core
P2473R1 Distributing C++ Module Libraries Daniel Ruoso 2021-12-02 2021-12 P2473R0 SG15 Tooling
P2474R0 views::repeat Michał Dominiak 2021-12-13 2021-12   SG9 Ranges,LEWG Library Evolution
P2486R1 Structured naming for function object and CPO values Kirk Shoop 2021-12-16 2021-12 P2486R0 LEWG Library Evolution
P2494R0 Relaxing range adaptors to allow for move only types Michał Dominiak 2021-12-13 2021-12   SG9 Ranges,LEWG Library Evolution
P2498R0 Forward compatibility of text_encoding with additional encoding registries Peter Brett 2021-12-13 2021-12   SG16 Unicode,LEWG Library Evolution
P2499R0 string_view range constructor should be explicit James Touton 2021-12-07 2021-12   LEWG Library Evolution
P2501R0 Undo the rename of views::move and views::as_const Ville Voutilainen 2021-12-14 2021-12   LEWG Library Evolution
P2502R0 std::generator: Synchronous Coroutine Generator for Ranges Casey Carter 2021-12-13 2021-12   LEWG Library Evolution
P2504R0 Computations as a global solution to concurrency Lucian Radu Teodorescu 2021-12-11 2021-12   SG1 Concurrency and Parallelism,LEWG Library Evolution
P2505R0 Monadic Functions for std::expected Jeff Garland 2021-12-15 2021-12   LEWG Library Evolution,LWG Library
P2507R0 Only [[assume]] conditional-expressions Peter Brett 2021-12-13 2021-12   EWG Evolution
P2508R0 Exposing std::basic-format-string Barry Revzin 2021-12-17 2021-12   LEWG Library Evolution
P2509R0 A proposal for a type trait to detect value-preserving conversions Giuseppe D'Angelo 2021-12-17 2021-12   SG6 Numerics,LEWG Library Evolution
P2510R0 Formatting pointers Mark de Wever 2021-12-17 2021-12   LWG Library

C++ Reflection TS: A First Look -- Clément Pirelli

The Reflection TS was blessed with an example implementation recently, available on Compiler Explorer. Clément Pirelli gave it a spin and wrote a small post about what he found.

C++ Reflection TS: A First Look

by Clément Pirelli

From the article:

In this post, I’ll explain the basic ideas of the specification, how to write a simple generic “enum to string” function and go into a bit more detail with a proof-of-concept serialization function.

2021-11 Mailing Available

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

 

WG21 Number Title Author Document Date Mailing Date Previous Version Subgroup
P0009R14 MDSPAN Christian Trott 2021-11-14 2021-11 P0009R13 LEWG Library Evolution,LWG Library
P0323R11 std::expected JF Bastien 2021-11-16 2021-11 P0323R10 LWG Library
P0447R17 Introduction of std::hive to the standard library Matt Bentley 2021-11-03 2021-11 P0447R16 SG14 Low Latency,LEWG Library Evolution,All of WG21
P0533R9 constexpr for cmath and cstdlib Oliver Rosten 2021-11-12 2021-11 P0533R8 CWG Core,LWG Library
P1413R3 Deprecate std::aligned_storage and std::aligned_union CJ Johnson 2021-11-22 2021-11 P1413R2 LEWG Library Evolution,LWG Library
P1467R6 Extended floating-point types and standard names David Olsen 2021-11-10 2021-11 P1467R5 EWG Evolution,LEWG Library Evolution
P1467R7 Extended floating-point types and standard names David Olsen 2021-11-24 2021-11 P1467R6 EWG Evolution,LEWG Library Evolution
P1494R2 Partial program correctness S. Davis Herring 2021-11-12 2021-11 P1494R1 SG22 Compatability,EWG Evolution,LEWG Library Evolution,CWG Core
P1774R4 Portable assumptions Timur Doumler 2021-11-17 2021-11 P1774R3 EWG Evolution
P1854R2 Conversion to literal encoding should not lead to loss of meaning Corentin Jabot 2021-11-23 2021-11 P1854R1 SG16 Unicode
P1899R1 stride_view Christopher Di Bella 2021-11-08 2021-11 P1899R0 SG9 Ranges,LEWG Library Evolution
P2071R1 Named universal character escapes Tom Honermann 2021-11-09 2021-11 P2071R0 SG16 Unicode,EWG Evolution
P2093R10 Formatted output Victor Zverovich 2021-11-13 2021-11 P2093R9 LEWG Library Evolution
P2198R3 Freestanding Feature-Test Macros and Implementation-Defined Extensions Ben Craig 2021-11-12 2021-11 P2198R2 SG10 Feature Test,LEWG Library Evolution
P2249R3 Mixed comparisons for smart pointers Giuseppe D'Angelo 2021-11-16 2021-11 P2249R2 LEWG Library Evolution
P2273R3 Making std::unique_ptr constexpr Andreas Fertig 2021-11-09 2021-11 P2273R2 LWG Library
P2278R2 cbegin should always return a constant iterator Barry Revzin 2021-11-16 2021-11 P2278R1 LEWG Library Evolution
P2286R3 Formatting Ranges Barry Revzin 2021-11-16 2021-11 P2286R2 LEWG Library Evolution
P2302R1 std::ranges::contains Christopher Di Bella 2021-11-08 2021-11 P2302R0 SG9 Ranges
P2338R2 Freestanding Library: Character primitives and the C library Ben Craig 2021-11-11 2021-11 P2338R1 SG14 Low Latency,SG22 Compatability,LEWG Library Evolution
P2361R4 Unevaluated strings Corentin Jabot 2021-11-23 2021-11 P2361R3 EWG Evolution
P2388R4 Minimum Contract Support: either No_eval or Eval_and_abort Andrzej Krzemieński 2021-11-15 2021-11 P2388R3 SG21 Contracts,SG22 Compatability
P2407R1 Freestanding Library: Partial Classes Emil Meissner 2021-11-23 2021-11 P2407R0 LEWG Library Evolution
P2408R3 Ranges iterators as inputs to non-Ranges algorithms David Olsen 2021-11-08 2021-11 P2408R2 SG9 Ranges,LEWG Library Evolution
P2408R4 Ranges iterators as inputs to non-Ranges algorithms David Olsen 2021-11-16 2021-11 P2408R3 LEWG Library Evolution
P2441R1 views::join_with Barry Revzin 2021-11-16 2021-11 P2441R0 LEWG Library Evolution
P2443R1 views::chunk_by Tim Song 2021-11-19 2021-11 P2443R0 LWG Library
P2446R1 views::all_move Barry Revzin 2021-11-16 2021-11 P2446R0 LEWG Library Evolution
P2454R0 2021 November Library Evolution Polls Bryce Adelstein Lelbach 2021-11-03 2021-11   LEWG Library Evolution
P2461R1 Closure-based Syntax for Contracts Gašper Ažman 2021-11-15 2021-11 P2461R0 SG21 Contracts
P2467R0 Support exclusive mode for fstreams Jonathan Wakely 2021-11-15 2021-11   LEWG Library Evolution
P2477R1 Allow programmer to control and detect coroutine elision by static constexpr bool must_elide() and Chuanqi Xu 2021-10-25 2021-11 P2477R0 EWG Evolution,LEWG Library Evolution
P2477R2 Allow programmer to control and detect coroutine elision Chuanqi Xu 2021-11-14 2021-11 P2477R1 EWG Evolution,LEWG Library Evolution
P2483R0 Support Non-copyable Types for single_view Hui Xie 2021-10-26 2021-11   LEWG Library Evolution
P2484R0 Extending class types as non-type template parameters Richard Smith 2021-11-16 2021-11   EWG Evolution
P2485R0 Do not add value_exists and value_or to C++23 Jonathan Wakely 2021-11-01 2021-11   LEWG Library Evolution
P2486R0 Structured naming for function object and CPO values Kirk Shoop 2021-11-01 2021-11   LEWG Library Evolution
P2487R0 Attribute-like syntax for contract annotations Andrzej Krzemieński 2021-11-12 2021-11   SG21 Contracts,EWG Evolution
P2489R0 Library Evolution Plan for Completing C++23 Bryce Adelstein Lelbach 2021-11-09 2021-11   LEWG Library Evolution
P2490R0 Zero-overhead exception stacktraces Antony Peacock 2021-11-25 2021-11   LEWGI SG18: LEWG Incubator
P2491R0 Text encodings follow-up Jens Maurer 2021-11-15 2021-11   SG16 Unicode,LEWG Library Evolution
P2492R0 Attending C++ Standards Committee Meetings During a Pandemic René Ferdinand Rivera Morell 2021-11-09 2021-11   All of WG21
P2493R0 Missing feature test macros for C++20 core papers Barry Revzin 2021-11-15 2021-11   CWG Core