P2610R0
2022-07 Library Evolution Polls

Published Proposal,

Author:
(NVIDIA)
Source:
GitHub
Issue Tracking:
GitHub
Project:
ISO/IEC JTC1/SC22/WG21 14882: Programming Language — C++
Audience:
WG21

1. Introduction

This paper contains the decision polls that the C++ Library Evolution group will take in 2022-07.

2. Voting

These decision polls will be conducted electronically; see [P2195R2] for more information on electronic voting procedures.

All committee members may vote, but if you have not participated in the Library Evolution discussions of a poll, please choose to not vote.

2.1. How to Vote

Vote here (C++23 polls).

Vote here (C++26 and Technical Specification polls).

A documents.isocpp.org account is necessary to vote. If you have an isocpp.org/papers account, a documents.isocpp.org account has been created for you. Just go to documents.isocpp.org and reset your password. Email Bryce Adelstein Lelbach if you do not have an account or are having trouble accessing your account.

If you see "Form not found" when you go to the above link, you are not signed in to documents.isocpp.org. Go to documents.isocpp.org and sign in first.

You will not receive a confirmation email after voting. The Library Evolution chairs will send a confirmation to all voters before the close of the poll.

If you need to change how you voted or have any questions or issues about voting, please email Bryce Adelstein Lelbach.

2.2. Voting Timeline

3. Poll Structure

Each poll consists of a statement; you vote on whether you support the statement. All polls will be 5-way polls; you’ll vote either "strongly favor", "weakly favor", "neutral", "weakly against", or "strongly against".

Polls phrased as "Return X" indicate that the paper was sent to Library Working Group in the past, and Libary Working Group returned it to us with questions. Polls phrased as "Send X" indicate that the paper has not previously been sent to Library Working Group.

All committee members may vote, but if you have not participated in the Library Evolution discussions of a poll (in-person, over telecon, or over email), please consider whether you sufficiently understand the topic to be able to vote in an informed manner. If you do not, please choose to not participate in the poll.

If you do not want to participate in a poll, select the "I do not want to participate in this poll" option. Those who do not participate in a poll will not be counted or recorded. Voting neutral is not the same as choosing to not participate; please don’t vote neutral if you did not participate in the discussions of the poll.

Each poll has a comment field. Please write a few sentences explaining the rationale for your vote. We recommend drafting your comments in a text editor and then pasting them into the polling system.

Poll results and selected comments will be shared with Library Evolution after the end of the polling period, including attribution of your votes and comments.

If you want to discuss the polls or how you plan on voting, please start an email thread on the Library Evolution mailing list.

You will not receive a confirmation email after voting.

If you need to see how you voted, change how you voted, or have any questions or issues about voting, please contact the Library Evolution chair.

3.1. C++23 Polls

3.1.1. [P0429R9] flat_map

Return [P0429R9] flat_map to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.1.2. [P1222R4] flat_set

Return [P1222R4] flat_set to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.1.3. [P0792R10] function_ref

Return [P0792R10] function_ref to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.1.4. [P2505R4] Monadic Functions For expected

Send [P2505R4] Monadic Functions For expected to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.1.5. [P2585R0] Improving Default Container Formatting

Send [P2585R0] Improving Default Container Formatting to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.1.6. [P2446R2] views::as_rvalue

Send [P2446R2] views::as_rvalue to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.1.7. [P2278R4] cbegin Should Always Return A Constant Iterator

Send [P2278R4] cbegin Should Always Return A Constant Iterator to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.1.8. [P2248R5] Enabling List-Initialization For Algorithms

Send [P2248R5] Enabling List-Initialization For Algorithms to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.1.9. [P2539R1] Should The Output Of print To A Terminal Be Synchronized With The Underlying Stream?

Send [P2539R1] Should The Output Of print To A Terminal Be Synchronized With The Underlying Stream? to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.1.10. [P2510R3] Formatting Pointers

Send [P2510R3] Formatting Pointers to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.1.11. [P2551R2] Clarify Intent Of Individually Specializable Numeric Traits

Send [P2551R2] Clarify Intent Of Individually Specializable Numeric Traits to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.1.12. [P2599R2] index_type & size_type In mdspan

Send [P2599R2] index_type & size_type In mdspan to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.1.13. [P2604R0] mdspan: Rename pointer, data, And contiguous

Send [P2604R0] mdspan: Rename pointer, data, And contiguous to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.1.14. [P2613R1]: Add The Missing empty To mdspan

Send [P2613R1]: Add The Missing empty To mdspan to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.2. C++26 and Technical Specification Polls

3.2.1. [P2338R2] Freestanding Library: Character Primitives And The C Library

Send [P2338R2] Freestanding Library: Character Primitives And The C Library to Library Working Group for C++26, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.2.2. [P2407R1] Freestanding Library: Partial Classes

Send [P2407R1] Freestanding Library: Partial Classes to Library Working Group for C++26, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.2.3. [P2562R1] constexpr Stable Sorting

Send [P2562R1] constexpr Stable Sorting to Library Working Group for C++26, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.2.4. [P2283R2] constexpr Specialized Memory Algorithms

Send [P2283R2] constexpr Specialized Memory Algorithms to Library Working Group for C++26, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.2.5. [P2542R2] views::concat

Send [P2542R2] views::concat to Library Working Group for C++26, classified as an addition ([P0592R4] bucket 3 item).

3.2.6. [P2609R1] Relaxing Ranges Just A Smidge

Send [P2609R1] Relaxing Ranges Just A Smidge to Library Working Group for C++26, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

References

Informative References

[P0429R9]
Zach Laine. A standard flat_map. 2022-06-17. URL: https://wg21.link/P0429R9
[P0592R4]
Ville Voutilainen. To boldly suggest an overall plan for C++23. 25 November 2019. URL: https://wg21.link/p0592r4
[P0792R10]
Vittorio Romeo; Zhihao Yuan; Jarrad Waterloo. function_ref: a type-erased callable reference. 2022-06-13. URL: https://wg21.link/P0792R10
[P1222R4]
Zach Laine. A standard flat_set. 2022-06-13. URL: https://wg21.link/P1222R4
[P2195R2]
Bryce Adelstein Lelbach. Electronic Straw Polls. 28 January 2021. URL: https://wg21.link/p2195r2
[P2248R5]
Giuseppe D'Angelo. Enabling list-initialization for algorithms. 2022-06-28. URL: https://wg21.link/P2248R5
[P2278R4]
Barry Revzin. cbegin should always return a constant iterator. 2022-06-17. URL: https://wg21.link/P2278R4
[P2283R2]
Michael Schellenberger Costa. constexpr for specialized memory algorithms. 26 November 2021. URL: https://wg21.link/p2283r2
[P2338R2]
Ben Craig. Freestanding Library: Character primitives and the C library. 11 November 2021. URL: https://wg21.link/p2338r2
[P2407R1]
Emil Meissner, Ben Craig. Freestanding Library: Partial Classes. 23 November 2021. URL: https://wg21.link/p2407r1
[P2446R2]
Barry Revzin. views::as_rvalue. 15 February 2022. URL: https://wg21.link/p2446r2
[P2505R4]
Jeff Garland. Monadic Functions for std::expected. 2022-06-17. URL: https://wg21.link/P2505R4
[P2510R3]
Mark de Wever. Formatting pointers. 23 May 2022. URL: https://wg21.link/p2510r3
[P2539R1]
Victor Zverovich. Should the output of std::print to a terminal be synchronized with the underlying stream?. 11 April 2022. URL: https://wg21.link/p2539r1
[P2542R2]
Hui Xie, S. Levent Yilmaz. views::concat. 11 May 2022. URL: https://wg21.link/p2542r2
[P2551R2]
Matthias Kretz. Clarify intent of P1841 numeric traits. 2022-06-22. URL: https://wg21.link/P2551R2
[P2562R1]
Oliver J. Rosten. constexpr Stable Sorting. 2022-06-14. URL: https://wg21.link/P2562R1
[P2585R0]
Barry Revzin. Improving default container formatting. 15 May 2022. URL: https://wg21.link/p2585r0
[P2599R2]
Nevin Liber. index _type & size_type in mdspan. 23 June 2022. URL: https://wg21.link/p2599r2
[P2604R0]
Christian Trott. mdspan: rename pointer and contiguous. 2022-06-15. URL: https://wg21.link/P2604R0
[P2609R1]
John Eivind Helset. Relaxing Ranges Just A Smidge. 2022-06-29. URL: https://wg21.link/P2609R1
[P2613R1]
Yihe Li. Add the missing empty to mdspans. 2022-06-25. URL: https://wg21.link/P2613R1