P2574R0
2022-05 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-05.

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

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

Polls phrased as "Return X" indicate that the paper was sent to Library Working Group for C++23 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 for C++23.

3.1.1. [P1885R10] Naming Text Encodings to Demystify Them

Return [P1885R10] Naming Text Encodings to Demystify Them to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.1.2. [P0792R8] function_ref

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

3.1.3. [P1223R3] find_last

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

3.1.4. [P1169R3] Static operator()

Send [P1169R3] Static operator() to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.1.5. [P2553R1] Make mdspan size_type Controllable

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

3.1.6. [P2554R0] C-Array Interoperability Of mdspan

Send [P2554R0] C-Array Interoperability Of mdspan to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.1.7. [P2540R0] Empty Product For Certain Views

Send [P2540R0] Empty Product For Certain Views to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.1.8. [P2538R0] ADL-Proof projected

Send [P2538R0] ADL-Proof projected to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.1.9. [LWG3646] ranges::view_interface::size Returns A Signed Type

Send the proposed resoluton in [LWG3646] ranges::view_interface::size Returns A Signed Type to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.1.10. [P2520R0] move_iterator Should Be A Random Access Iterator

Send [P2520R0] move_iterator Should Be A Random Access Iterator to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.1.11. [P2499R0] string_view Range Constructor Should Be Explicit

Send [P2499R0] string_view Range Constructor Should Be Explicit to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.1.12. [P2549R0] unexpected Should Have error As Member Accessor

Send [P2549R0] unexpected Should Have error As Member Accessor to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.1.13. [P2517R0] Add A Conditional noexcept Specification To apply

Send [P2517R0] Add A Conditional noexcept Specification To apply 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. [P2300R5] std::execution

Send [P2300R5] std::execution to Library Working Group for C++26, classified as a focus ([P0592R4] bucket 1 item).

3.2.2. [P1083R5] resource_adaptor

Return [P1083R5] resource_adaptor to Library Working Group for C++26, classified as an addition ([P0592R4] bucket 3 item).

3.2.3. [P1202R4] Asymmetric Fences

Send [P1202R4] Asymmetric Fences to Library Working Group for the Concurrency TS v2, classified as an addition ([P0592R4] bucket 3 item).

References

Informative References

[LWG3646]
Jiang An. std::ranges::view_interface::size returns a signed type. LEWG. URL: https://wg21.link/lwg3646
[P0592R4]
Ville Voutilainen. To boldly suggest an overall plan for C++23. 25 November 2019. URL: https://wg21.link/p0592r4
[P0792R8]
Vittorio Romeo, Zhihao Yuan, Jarrad Waterloo. function_ref: a non-owning reference to a Callable. 16 February 2022. URL: https://wg21.link/p0792r8
[P1083R5]
Pablo Halpern. Move resource_adaptor from Library TS to the C++ WP. 24 February 2022. URL: https://wg21.link/p1083r5
[P1169R3]
Barry Revzin, Casey Carter. static operator(). 14 October 2021. URL: https://wg21.link/p1169r3
[P1202R4]
David Goldblatt. Asymmetric Fences. 15 February 2022. URL: https://wg21.link/p1202r4
[P1223R3]
Zach Laine. find_last. 15 February 2022. URL: https://wg21.link/p1223r3
[P1885R10]
Corentin Jabot, Peter Brett. Naming Text Encodings to Demystify Them. 14 February 2022. URL: https://wg21.link/p1885r10
[P2195R2]
Bryce Adelstein Lelbach. Electronic Straw Polls. 28 January 2021. URL: https://wg21.link/p2195r2
[P2300R5]
Michał Dominiak; et al. std::execution. 2022-04-20. URL: https://wg21.link/P2300R5
[P2499R0]
James Touton. string_view range constructor should be explicit. 7 December 2021. URL: https://wg21.link/p2499r0
[P2517R0]
Hewill Kang. Add a conditional noexcept specification to std::apply. 14 January 2022. URL: https://wg21.link/p2517r0
[P2520R0]
Barry Revzin. move_iterator should be a random access iterator. 16 January 2022. URL: https://wg21.link/p2520r0
[P2538R0]
Arthur O'Dwyer. ADL-proof std::projected. 15 February 2022. URL: https://wg21.link/p2538r0
[P2540R0]
Steve Downey. Empty Product for certain Views. 16 February 2022. URL: https://wg21.link/p2540r0
[P2549R0]
Yihe Li. std::unexpected should have error() as member accessor. 13 February 2022. URL: https://wg21.link/p2549r0
[P2553R1]
Christian Trott, Damien Lebrun-Grandie, Mark Hoemmen, Dan Sunderland. Make mdspan size_type controllable. 16 March 2022. URL: https://wg21.link/p2553r1
[P2554R0]
Christian Trott, Damien Lebrun-Grandie, Mark Hoemmen, K. R. Walker, Dan Sunderland. C-Array Interoperability of MDSpan. 15 February 2022. URL: https://wg21.link/p2554r0