P3053R0
2023-12 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 December 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. [P0876R14] fiber_context - fibers without scheduler

Send "[P0876R14] fiber_context - fibers without scheduler" to Library Working Group for C++26.

3.1.2. [P0447R26] Introduction of std::hive to the standard library

Send "[P0447R26] Introduction of std::hive to the standard library" to Library Working Group for C++26.

3.1.3. [P2542R7] views::concat

Send "[P2542R7] views::concat" to Library Working Group for C++26.

3.1.4. [P2642R5] Padded mdspan layouts

Send "[P2642R5] Padded mdspan layouts" to Library Working Group for C++26.

3.1.5. [P2663R5] Proposal to support interleaved complex values in std::simd

Send "[P2663R5] Proposal to support interleaved complex values in std::simd" to Library Working Group for C++26.

3.1.6. [P2810R2] is_debugger_present is_replaceable

Send "[P2810R2] is_debugger_present is_replaceable" to Library Working Group for C++26.

3.1.7. [P2809R2] Trivial infinite loops are not Undefined Behavior

Send "[P2809R2] Trivial infinite loops are not Undefined Behavior" to Library Working Group for C++26.

3.1.8. [P2845R5] Formatting of std::filesystem::path

Send "[P2845R5] Formatting of std::filesystem::path" to Library Working Group for C++26.

3.1.9. [P2862R1] text_encoding::name() should never return null values

Send "[P2862R1] text_encoding::name() should never return null values" to Library Working Group for C++26.

3.1.10. [P2867R1] Remove Deprecated strstreams From C++26

Send "[P2867R1] Remove Deprecated strstreams From C++26" to Library Working Group for C++26.

3.1.11. [P2869R3] Remove Deprecated shared_ptr Atomic Access APIs From C++26

Send "[P2869R3] Remove Deprecated shared_ptr Atomic Access APIs From C++26" to Library Working Group for C++26.

3.1.12. [P2866R1] Remove Deprecated Volatile Features From C++26

Send "[P2866R1] Remove Deprecated Volatile Features From C++26" to Library Working Group for C++26.

3.1.13. [P2944R2] Comparisons for reference_wrapper

Send "[P2944R2] Comparisons for reference_wrapper" to Library Working Group for C++26.

3.1.14. [P2933R1] Extend <bit> header function with overloads for std::simd

Send "[P2933R1] Extend <bit> header function with overloads for std::simd" to Library Working Group for C++26.

3.1.15. [P2976R0] Freestanding Library: algorithm, numeric, and random

Send "[P2976R0] Freestanding Library: algorithm, numeric, and random" to Library Working Group for C++26.

3.1.16. [P2968R2] Make std::ignore a first-class object

Send "[P2968R2] Make std::ignore a first-class object" to Library Working Group for C++26.

3.1.17. [P2999R3] Sender Algorithm Customization

Send "[P2999R3] Sender Algorithm Customization" to Library Working Group for C++26.

3.1.18. [P2267R1] Library Evolution Policies

Approve "[P2267R1] Library Evolution Policies" and create SD-9 as described.

3.1.19. [P2760R1] A Plan for C++26 Ranges

Approve "[P2760R1] A Plan for C++26 Ranges".

References

Informative References

[P0447R26]
Matthew Bentley. Introduction of std::hive to the standard library. 09 December 2023. URL: https://wg21.link/P0447R26
[P0876R14]
Oliver Kowalke, Nat Goodspeed. fiber_context - fibers without scheduler. 13 October 2023. URL: https://wg21.link/p0876r14
[P2195R2]
Bryce Adelstein Lelbach. Electronic Straw Polls. 28 January 2021. URL: https://wg21.link/p2195r2
[P2267R1]
Inbal Levi; Ben Craig; Fabio Fracassi. Library Evolution Policies. 23 November 2023. URL: https://wg21.link/P2267R1
[P2542R7]
Hui Xie; S. Levent Yilmaz. views::concat. 23 September 2023. URL: https://wg21.link/P2542R7
[P2642R5]
Christian Trott; et al. Padded mdspan layouts. 05 December 2023. URL: https://wg21.link/P2642R5
[P2663R5]
Daniel Towner; Ruslan Arutyunyan. Proposal to support interleaved complex values in std::simd. 08 December 2023. URL: https://wg21.link/P2663R5
[P2760R1]
Barry Revzin; Conor Hoekstra; Tim Song. A Plan for C++26 Ranges. 14 December 2023. URL: https://wg21.link/P2760R1
[P2809R2]
JF Bastien. Trivial infinite loops are not Undefined Behavior. 14 October 2023. URL: https://wg21.link/p2809r2
[P2810R2]
René Ferdinand Rivera Morell; Ben Craig. is_debugger_present is_replaceable. 02 December 2023. URL: https://wg21.link/P2810R2
[P2845R5]
Victor Zverovich. Formatting of std::filesystem::path. 24 November 2023. URL: https://wg21.link/P2845R5
[P2862R1]
Daniel Krügler. text_encoding::name() should never return null values. 24 September 2023. URL: https://wg21.link/p2862r1
[P2866R1]
Alisdair Meredith. Remove Deprecated Volatile Features From C++26. 16 September 2023. URL: https://wg21.link/p2866r1
[P2867R1]
Alisdair Meredith. Remove Deprecated strstreams From C++26. 16 September 2023. URL: https://wg21.link/p2867r1
[P2869R3]
Alisdair Meredith. Remove Deprecated shared_ptr Atomic Access APIs From C++26. 02 December 2023. URL: https://wg21.link/P2869R3
[P2933R1]
Alisdair Meredith. Extend `<bit>` header function with overloads for std::simd. 08 December 2023. URL: https://wg21.link/P2933R1
[P2944R2]
Barry Revzin. Comparisons for reference_wrapper. 17 September 2023. URL: https://wg21.link/p2944r2
[P2968R2]
Peter Sommerlad. Make std::ignore a first-class object. 12 December 2023. URL: https://wg21.link/P2968R2
[P2976R0]
Ben Craig. Freestanding Library: algorithm, numeric, and random. 17 September 2023. URL: https://wg21.link/p2976r0
[P2999R3]
Eric Niebler. Sender Algorithm Customization. 19 December 2023. URL: https://wg21.link/P2999R3
[P3054R0]
Inbal Levi; et al. 2023-12 Library Evolution Poll Outcomes. 15 January 2024. URL: https://wg21.link/P3054R0