WG21 PAPERS

Mailings Beta

Volunteer-driven · Not affiliated with WG21 or ISO

Filter and export papers from the C++ Committee’s monthly mailings by time frame and audience using the options below, or refine your export further with the Select button. Links point directly to the official WG21 papers on open-std.org.

Audience
Wording
Evolution
Study Groups
Mailings
1 · Year 1 · Month

Select the arrow to the right of the year to filter for specific months.

2026 656 papers

Pick months in 2026

2025 Jul · 1 of 1

Pick months in 2025

Add Year +

Select Years To Display

Current Years Selected

2026 2025
Filters Author: Jan Schultke Clear all
21 out of 21 papers selected for export
SelectPaper Title Authors Audience Doc Date Mailing Date
P3104R4 Bit permutations Jan Schultke J. Schultke 2025-06-28 2025-07
Doc Date 2025-06-28
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience LWGSG6
Revisions R6R5
Tracking issue View on GitHub
Abstract Add bit permutation functions to the bit manipulation library.
P3642R2 Carry-less product: std::clmul Jan Schultke J. Schultke 2025-07-02 2025-07
Doc Date 2025-07-02
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience LEWG
Revisions R7R6R5R4R1
Tracking issue View on GitHub
Abstract Add widening and non-widening carry-less multiplication functions.
P3647R0 Slides for P3642R1 Jan Schultke J. Schultke 2025-06-19 2025-07
Doc Date 2025-06-19
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience SG6SG18
Revisions R1
Tracking issue View on GitHub
Abstract **Intuition**: "carry-less" means we use XOR instead of plus.
P3688R1 ASCII character utilities Jan Schultke J. Schultke , Corentin Jabot C. Jabot 2025-06-28 2025-07
Doc Date 2025-06-28
Mailing Date 2025-07 Post-Sofia
Target Audience SG16
Revisions R7R6
Tracking issue View on GitHub
Abstract The utilities in `<cctype>` or `<locale>` are locale-specific, not `constexpr`, and provide no support for Unicode character types. We propose lightweight, locale-independent alternatives.
P3721R0 Slides for P3639R0 Jan Schultke J. Schultke 2025-06-04 2025-07
Doc Date 2025-06-04
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience SG22
Tracking issue View on GitHub
Abstract C23 now has `_BitInt` type for N-bit integers (WG14 [[N2763]](https://open-std%2eorg/JTC1/SC22/WG14/www/docs/n2763%2epdf), [[N2775]](https://open-std%2eorg/JTC1/SC22/WG14/www/docs/n2775%2epdf)):
P3722R0 Slides for P3568R1 Jan Schultke J. Schultke 2025-05-27 2025-07
Doc Date 2025-05-27
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience SG22
Tracking issue View on GitHub
Abstract C2y now supports `break` and `continue` with a label (N3355):
P3724R0 Integer division Jan Schultke J. Schultke 2025-06-06 2025-07
Doc Date 2025-06-06
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience LEWGSG6
Revisions R4R3
Tracking issue View on GitHub
Abstract C++ currently only offers truncating integer division in the form of the `/` operator. I propose standard library functions for computing quotients and remainders with other rounding modes.
P3730R0 Slides for P3104R3 Jan Schultke J. Schultke 2025-06-04 2025-07
Doc Date 2025-06-04
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience LEWG
Tracking issue View on GitHub
P3733R0 More named universal character escapes Jan Schultke J. Schultke 2025-06-28 2025-07
Doc Date 2025-06-28
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience SG16
Tracking issue View on GitHub
Abstract C++23 permits the use of "correction", "control", and "alternate" aliases for character names, but not "figment" or "abbreviation". Following P2736R2, this restriction is no longer necessary because "figment" and "abbreviation" are normatively specified in the Unicode standard.
P3734R0 Not all predicates must be regular Jan Schultke J. Schultke 2025-06-14 2025-07
Doc Date 2025-06-14
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience SG9
Tracking issue View on GitHub
Abstract Some algorithms, such as `std::remove_if` and `std::copy_if` are over-constrained by requiring the predicate to be regular, despite the predicate visiting elements exactly once, making the requirement meaningless. These constraints should be relaxed.
P3735R0 partial_sort_n, nth_element_n Jan Schultke J. Schultke 2025-06-28 2025-07
Doc Date 2025-06-28
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience SG9
Tracking issue View on GitHub
Abstract The `partial_sort`, and `nth_element` algorithms require the user to "manually offset" iterators, which is neither ergonomic nor safe. I propose `_n` variants of these algorithms in the style of `shift_left`.
P3736R0 Slides against P2971R3 - No implication for C++ Jan Schultke J. Schultke 2025-06-27 2025-07
Doc Date 2025-06-27
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience EWG
Tracking issue View on GitHub
P3737R0 std::array is a wrapper for an array! Jan Schultke J. Schultke 2025-06-11 2025-07
Doc Date 2025-06-11
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience LEWG
Revisions R4R3
Tracking issue View on GitHub
Abstract The `std::array` class template is implemented as a simple wrapper type for a "C-style array". However, its specification in the standard is considerably more permissive and should be simplified.
P3740R1 Last chance to fix std::nontype Jan Schultke J. Schultke , Bronek Kozicki B. Kozicki 2025-06-20 2025-07
Doc Date 2025-06-20
Mailing Date 2025-07 Post-Sofia
Target Audience LEWG
Revisions R0
Tracking issue View on GitHub
Abstract P2472R3 introduced overloads for the `std::function_ref` constructor which utilize a helper type `std::nontype`. This helper type may be obsoleted by other active proposals, and its name has become a bad choice now that C++26 no longer replaced the term "non-type template parameter", with "constant template parameter".
P3749R0 Slides in response to P3655R2 - Concerns regarding std::zstring_view Jan Schultke J. Schultke 2025-06-27 2025-07
Doc Date 2025-06-27
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience LEWG
Tracking issue View on GitHub
P3753R1 Slides for P3740R1 - Last chance to fix std::nontype Jan Schultke J. Schultke 2025-06-20 2025-07
Doc Date 2025-06-20
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience LEWG
Revisions R0
Tracking issue View on GitHub
Abstract - P2472R3 added `std::nontype` constructors for `std::function_ref` - merged into P0792R14, plenary-approved Varna 2023 for C++26 - `std::nontype` possibly obsoleted by `std::constant_wrapper` (P2781R9) - Wording review completed by LWG - "non-type template parameter" term was removed by P2841R1 (C++26)
P3764R0 A utility function for propagating the most significant bit Jan Schultke J. Schultke 2025-07-15 2025-07
Doc Date 2025-07-15
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience SG6
Tracking issue View on GitHub
Abstract Add a function to the `<bit>` header which converts the most significant bit to a bit mask.
P3765R0 Deprecate implicit conversion from bool to character types Jan Schultke J. Schultke , Hana Dusíková H. Dusíková 2025-07-12 2025-07
Doc Date 2025-07-12
Mailing Date 2025-07 Post-Sofia
Target Audience EWG
Tracking issue View on GitHub
Abstract Implicit conversion from `bool` to character types serve little purpose in the language, and invite bugs. We propose to deprecate them.
P3772R0 std::simd overloads for bit permutations Jan Schultke J. Schultke 2025-06-28 2025-07
Doc Date 2025-06-28
Mailing Date 2025-07 Post-Sofia
Author(s) Jan Schultke
Target Audience SG6
Revisions R2
Tracking issue View on GitHub
Abstract [[P3104R3]](https://wg21%2elink/p3104r3) has been been design-approved by LEWG for C++29. This proposal adds `std::simd` overloads to add consistency with [[P2933R4]](https://wg21%2elink/p2933r4).
P3774R0 Rename std::nontype, and make it broadly useful Jan Schultke J. Schultke , Bronek Kozicki B. Kozicki , Tomasz Kamiński T. Kamiński 2025-07-15 2025-07
Doc Date 2025-07-15
Mailing Date 2025-07 Post-Sofia
Target Audience LEWG
Tracking issue View on GitHub
Abstract [[P3740R1]](https://isocpp%2eorg/files/papers/P3740R1%2ehtml) proposed to rename `std::nontype` to `std::constant_arg`, now that the term "non-type template parameter" no longer exists in the C++26 standard. This solution found weak consensus in LEWG, but there was no time in LWG to review the change, so it did not make it into C++26.
P3793R0 Better shifting Brian Bi B. Bi , Jan Schultke J. Schultke 2025-07-15 2025-07
Doc Date 2025-07-15
Mailing Date 2025-07 Post-Sofia
Author(s) Brian Bi, Jan Schultke
Target Audience SG6
Revisions R2
Tracking issue View on GitHub
Abstract We propose the addition of functions to the `<bit>` header to perform bit shifts on integer operands. The `std::shl` and `std::shr` functions provide the following advantages over the built-in shift operators:
Showing 21 of 21 papers · source: open-std.org