P2289R0
2021 Winter 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 Winter of 2021.

2. Voting

These decision polls will be conducted electronically; see [P2195R1] 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 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. Polls

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

Each poll has a comment field. Please write a few sentences explaining the rationale for your vote.

Poll results and 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.

3.1. Poll 1: [P0288R7] The Feature Formerly Known As any_invocable

Modify [P0288R7] (any_invocable) by renaming any_invocable to move_only_function (as per [P2265R0] Renaming any_invocable) and placing the facility in <functional> instead of adding a new header, and then send the revised paper to LWG for C++23, classified as an addition ([P0592R4] bucket 3 item).

3.2. Poll 2: [P1642R5] Freestanding [utilities], [ranges], And [iterators]

Send [P1642R5] (Freestanding [utilities], [ranges], And [iterators]) to LWG, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.3. Poll 3: [P2216R2] std::format Improvements

Send [P2216R2] (std::format Improvements) to LWG for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.4. Poll 4: [P2077R2] Heterogeneous Erasure Overloads For Associative Containers

Send [P2077R2] (Heterogeneous Erasure Overloads For Associative Containers) to LWG for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.5. Poll 5: [P2136R2] invoke_r

Send [P2136R2] (invoke_r) to LWG for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.6. Poll 6: [P1951R0] Default Arguments For pair's Forwarding Constructor

Modify [P1951R0] (Default Arguments For pair's Forwarding Constructor) by rebasing the wording on the working draft, and then send the revised paper to LWG for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.7. Poll 7: [P2231R0] Missing constexpr In optional And variant

Modify [P2231R0] (Missing constexpr In optional And variant) by adding bumps of the feature test macros __cpp_lib_optional and __cpp_lib_variant, and then send the revised paper to LWG for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.8. Poll 8: [P0901R8] Size Feedback In operator new

Send [P0901R8] (Size Feedback In operator new) to CWG for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

3.9. Poll 9: [P1478R6] Byte-wise Atomic memcpy

Send [P1478R6] (Byte-wise Atomic memcpy) to LWG for the Concurrency TS v2, classified as an addition ([P0592R4] bucket 3 item).

References

Informative References

[P0288R7]
Ryan McDougall, Matt Calabrese. any_invocable. 3 September 2020. URL: https://wg21.link/p0288r7
[P0592R4]
Ville Voutilainen. To boldly suggest an overall plan for C++23. 25 November 2019. URL: https://wg21.link/p0592r4
[P0901R8]
Chris Kennelly, Andrew Hunter. Size feedback in operator new. 15 December 2020. URL: https://wg21.link/p0901r8
[P1478R6]
Hans Boehm. Byte-wise atomic memcpy. 14 December 2020. URL: https://wg21.link/p1478r6
[P1642R5]
Ben Craig. Freestanding Library: Easy [utilities], [ranges], and [iterators]. 10 December 2020. URL: https://wg21.link/p1642r5
[P1951R0]
Logan R. Smith. Default Arguments for pair's Forwarding Constructor. 17 November 2019. URL: https://wg21.link/p1951r0
[P2077R2]
Konstantin Boyarinov, Sergey Vinogradov; Ruslan Arutyunyan. Heterogeneous erasure overloads for associative containers. 15 December 2020. URL: https://wg21.link/p2077r2
[P2136R2]
Zhihao Yuan. invoke_r. 6 December 2020. URL: https://wg21.link/p2136r2
[P2195R1]
Bryce Adelstein Lelbach. Electronic Straw Polls. 23 November 2020. URL: https://wg21.link/p2195r1
[P2216R2]
Victor Zverovich. std::format improvements. 15 January 2021. URL: https://wg21.link/p2216r2
[P2231R0]
Barry Revzin. Add further constexpr support for optional/variant. 14 October 2020. URL: https://wg21.link/p2231r0
[P2265R0]
Kevlin Henney. Renaming any_invocable. 6 December 2020. URL: https://wg21.link/p2265r0