P2972R0
2023-09 Library Evolution Polls

Published Proposal,

Authors:
(MPGC Services LTD)
(CODE University of Applied Sciences)
(Raven)
(NVIDIA)
(Argonne National Laboratory)
Source:
GitHub
Project:
ISO/IEC 14882 Programming Languages — C++, ISO/IEC JTC1/SC22/WG21
Audience:
WG21

1. Introduction

This paper contains the decision polls that the C++ Library Evolution group will take in September 2023.

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

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 Inbal Levi and Nevin Liber 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 Inbal Levi.

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.

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

3.1.1. [P0843R9] inplace_vector

Send "[P0843R9] inplace_vector" to Library Working Group for C++26.

3.1.2. [P1068R9] Vector API for random number generation

Send "[P1068R9] Vector API for random number generation" to Library Working Group for C++26.

3.1.3. [P2447R4] std::span over an initializer list

Send "[P2447R4] std::span over an initializer list" to Library Working Group for C++26.

3.1.4. [P2591R4] Concatenation of strings and string views

Send "[P2591R4] Concatenation of strings and string views" to Library Working Group for C++26.

3.1.5. [P2819R1] Add tuple protocol to complex

Send "[P2819R1] Add tuple protocol to complex" to Library Working Group for C++26.

3.1.6. [P2821R4] span.at()

Send "[P2821R4] span.at()" to Library Working Group for C++26.

3.1.7. [P2833R1] Freestanding Library: inout expected span

Send "[P2833R1] Freestanding Library: inout expected span" to Library Working Group for C++26.

3.1.8. [P2836R1] std::basic_const_iterator should follow its underlying type’s convertibility

Send "[P2836R1] std::basic_const_iterator should follow its underlying type’s convertibility" to Library Working Group for C++26 and as a DR for C++23.

3.1.9. [P2868R1] Remove Deprecated std::allocator Typedef From C++26

Send "[P2868R1] Remove Deprecated std::allocator Typedef From C++26" to Library Working Group for C++26.

3.1.10. [P2870R1] Remove basic_string::reserve() From C++26

Send "[P2870R1] Remove basic_string::reserve() From C++26" to Library Working Group for C++26.

3.1.11. [P2871R2] Remove Deprecated Unicode Conversion Facets From C++26

Send "[P2871R2] Remove Deprecated Unicode Conversion Facets From C++26" to Library Working Group for C++26.

3.1.12. [P2905R2] Runtime format strings

Send "[P2905R2] Runtime format strings" to Library Working Group for C++26 and as a DR for C++23.

3.1.13. [P2918R1] Runtime format strings II

Send "[P2918R1] Runtime format strings II" to Library Working Group for C++26.

3.1.14. [P2937R0] Freestanding: Remove strtok

Send "[P2937R0] Freestanding: Remove strtok" to Library Working Group for C++26.

3.1.15. [P2909R2] Fix formatting of code units as integers (Dude, where’s my char?)

Send "[P2909R2] Fix formatting of code units as integers (Dude, where’s my char?)" to Library Working Group for C++26 and as a DR for C++23.

3.1.16. [P2542R5] views::concat

Return "[P2542R5] views::concat" to Library Working Group for C++26.

References

Informative References

[P0843R9]
Gonzalo Brito Gadeschi; et al. `inplace_vector`. 2023-09-11. URL: https://wg21.link/P0843R9
[P1068R9]
Ilya Burylov; et al. Vector API for random number generation. 2023-09-14. URL: https://wg21.link/P1068R9
[P2195R2]
Bryce Adelstein Lelbach. Electronic Straw Polls. 28 January 2021. URL: https://wg21.link/p2195r2
[P2447R4]
Arthur O'Dwyer; Federico Kircheis. `std::span` over an initializer list. 2023-06-08. URL: https://wg21.link/P2447R4
[P2542R5]
Hui Xie; S. Levent Yilmaz. `views::concat`. 2023-09-16. URL: https://wg21.link/P2542R5
[P2591R4]
Giuseppe D'Angelo. Concatenation of strings and string views. 2023-06-08. URL: https://wg21.link/P2591R4
[P2819R1]
Michael Florian Hava; Christoph Hofer. Add tuple protocol to complex. 2023-07-13. URL: https://wg21.link/P2819R1
[P2821R4]
Jarrad J. Waterloo. `span.at()`. 2023-07-26. URL: https://wg21.link/P2821R4
[P2833R1]
Ben Craig. Freestanding Library: inout expected span. 2023-08-19. URL: https://wg21.link/P2833R1
[P2836R1]
Christopher Di Bella. `std::basic_const_iterator` should follow its underlying type’s convertibility. 2023-07-08. URL: https://wg21.link/P2836R1
[P2868R1]
Alisdair Meredith. Remove Deprecated `std::allocator` Typedef From C++26. 2023-08-15. URL: https://wg21.link/P2868R1
[P2870R1]
Alisdair Meredith. Remove `basic_string::reserve()` From C++26. 2023-07-25. URL: https://wg21.link/P2870R1
[P2871R2]
Alisdair Meredith. Remove Deprecated Unicode Conversion Facets From C++26. 2023-08-08. URL: https://wg21.link/P2871R2
[P2905R2]
Victor Zverovich. Runtime format strings. 2023-07-23. URL: https://wg21.link/P2905R2
[P2918R1]
Victor Zverovich. Runtime format strings II. 2023-07-15. URL: https://wg21.link/P2918R1
[P2937R0]
Ben Craig. Freestanding: Remove `strtok`. 2023-07-02. URL: https://wg21.link/P2937R0