P3467R0R0
2024-10 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 October 2024.

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

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. [P2897R5] aligned_accessor: An mdspan accessor expressing pointer overalignment

Send "[P2897R5] aligned_accessor: An mdspan accessor expressing pointer overalignment" to Library Working Group for C++26.

3.1.2. [P3008R2] Atomic floating-point min/max

Send "[P3008R2] Atomic floating-point min/max" to Library Working Group for C++26.

3.1.3. [P3050R2] Fix C++26 by optimizing linalg::conjugated for noncomplex value types

Send "[P3050R2] Fix C++26 by optimizing linalg::conjugated for noncomplex value types" to Library Working Group for C++26.

3.1.4. [P3068R4] Allowing exception throwing in constant-evaluation

Send "[P3068R4] Allowing exception throwing in constant-evaluation" to Library Working Group for C++26.

3.1.5. [P3136R0] Retiring niebloids

Send "[P3136R0] Retiring niebloids" to Library Working Group for C++26.

3.1.6. [P3222R0] Fix C++26 by adding transposed special cases for P2642 layouts

Send "[P3222R0] Fix C++26 by adding transposed special cases for P2642 layouts" to Library Working Group for C++26.

3.1.7. [P3309R2] constexpr atomic and atomic_ref

Send "[P3309R2] constexpr atomic and atomic_ref" to Library Working Group for C++26.

3.1.8. [P3323R0] cv-qualified types in atomic and atomic_ref

Send "[P3323R0] cv-qualified types in atomic and atomic_ref" to Library Working Group for C++26.

NOTE:Both P3309R2 and P3323R0 modify the same section, the assumption is that wording can be merged in LWG or by the editors. There is no known design conflict.

3.1.9. [P3325R3] A Utility for Creating Execution Environments

Send "[P3325R3] A Utility for Creating Execution Environments" to Library Working Group for C++26.

3.1.10. [P0472R2] Put std::monostate in <utility>

Send "[P0472R2] Put std::monostate in <utility>" to Library Working Group for C++26.

3.1.11. [P3355R1] Fix submdspan for C++26

Send "[P3355R1] Fix submdspan for C++26" to Library Working Group for C++26.

3.1.12. [P3369R0] constexpr for uninitialized_default_construct

Send "[P3369R0] constexpr for uninitialized_default_construct" to Library Working Group for C++26.

3.1.13. [P3399R0] Adjusting Electronic Polls to a Hybrid Workflow

Approve "[P3399R0] Adjusting Electronic Polls to a Hybrid Workflow" and apply the change to the process of Library Evolution Working Group.

References

Informative References

[P0472R2]
David Sankel, Andrei Zissu. Put std::monostate in <utility>. 9 September 2024. URL: https://wg21.link/p0472r2
[P2195R2]
Bryce Adelstein Lelbach. Electronic Straw Polls. 28 January 2021. URL: https://wg21.link/p2195r2
[P2897R5]
Mark Hoemmen, Damien Lebrun-Grandie, Nicolas Manual Morales, Christian Trott. aligned_accessor: An mdspan accessor expressing pointer overalignment. 12 August 2024. URL: https://wg21.link/p2897r5
[P3008R2]
Gonzalo Brito Gadeschi, David Sankel. Atomic floating-point min/max. 19 March 2024. URL: https://wg21.link/p3008r2
[P3050R2]
Mark Hoemmen. Fix C++26 by optimizing linalg::conjugated for noncomplex value types. 13 August 2024. URL: https://wg21.link/p3050r2
[P3068R4]
Hana Dusíková. Allowing exception throwing in constant-evaluation. 15 August 2024. URL: https://wg21.link/p3068r4
[P3136R0]
Tim Song. Retiring niebloids. 15 February 2024. URL: https://wg21.link/p3136r0
[P3222R0]
Mark Hoemmen. Fix C++26 by adding transposed special cases for P2642 layouts. 8 April 2024. URL: https://wg21.link/p3222r0
[P3309R2]
Hana Dusíková. constexpr atomic and atomic_ref. 29 August 2024. URL: https://wg21.link/p3309r2
[P3323R0]
Gonzalo Brito Gadeschi. cv-qualified types in atomic and atomic_ref. 16 June 2024. URL: https://wg21.link/p3323r0
[P3325R3]
Eric Niebler. A Utility for Creating Execution Environments. 23 July 2024. URL: https://wg21.link/p3325r3
[P3355R1]
Mark Hoemmen. Fix submdspan for C++26. 15 October 2024. URL: https://wg21.link/p3355r1
[P3369R0]
Giuseppe D'Angelo. constexpr for uninitialized_default_construct. 28 July 2024. URL: https://wg21.link/p3369r0
[P3399R0]
Inbal Levi; et al. Adjusting Electronic Polls to a Hybrid Workflow. 15 November 2024. URL: https://wg21.link/p3399r0
[P3468R0]
Inbal Levi; et al. 2024-10 Library Evolution Poll Outcomes. 15 November 2024. URL: https://wg21.link/p3468r0