Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P2278 cbegin should always return a constant iterator #971

Closed
wg21bot opened this issue Jan 22, 2021 · 11 comments · Fixed by cplusplus/draft#5698
Closed

P2278 cbegin should always return a constant iterator #971

wg21bot opened this issue Jan 22, 2021 · 11 comments · Fixed by cplusplus/draft#5698
Labels
C++23 Targeted at C++23 IS Ship vehicle: IS LWG Library plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. ranges std::ranges tentatively-ready-for-plenary Reviewed between meetings; ready for a vote.
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Jan 22, 2021

P2278R0 cbegin should always return a constant iterator (Barry Revzin)

@wg21bot wg21bot added the LEWG Library Evolution label Jan 22, 2021
@wg21bot wg21bot added this to the 2021-telecon milestone Jan 22, 2021
@brycelelbach brycelelbach added ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Jan 25, 2021
@nliber
Copy link
Collaborator

nliber commented Feb 17, 2021

2021-02-09 Library Evolution Telecon

P2278R0: cbegin should always return a constant iterator

2021-02-09 Library Evolution Telecon Minutes

Chair: Nevin Liber

Champion: Barry Revzin

Minute Taker: Ben Craig

POLL: Do we want P2278R0 including adding .cbegin() and .cend() for span?

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
3 16 3 1 1

Attendance: 28

# of Authors: 1

Author Position: WF

Outcome: Consensus

SA: Don’t want .cbegin and .cend in span
WA: It is likely that the German National Body will still want the changes from P2276

Finland will disagree with those changes: does not want the range additions of .cbegin() and .cend()

POLL: Do we want P2278R0 excluding adding .cbegin() and .cend() for span?

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
12 5 3 0 1

Attendance: 28

# of Authors: 1

Author Position: WF

Outcome: Strong consensus (much stronger than the previous poll).

SA: It is likely that the German National Body will still want the changes from P2276

Summary

Strong consensus to move forward with this paper excluding adding .cbegin() and .cend() to span. The room considered the latter to be an orthogonal issue, which will require more motivation than was presented.

Note: P2276 was scheduled to be presented with this paper; however, due to a miscommunication the author was not present. P2276 will be given a chance to be presented.

Outcome

Strong consensus to move forward with the paper, excluding adding .cbegin() and .cend() to span. The paper will need a revision with wording, and won't move out of LEWG w/o giving P2276 a chance to be presented.

@brycelelbach brycelelbach added needs-revision Paper needs changes before it can proceed and removed scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Feb 19, 2021
@brycelelbach brycelelbach added the ranges std::ranges label Mar 22, 2021
@brycelelbach brycelelbach added the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Aug 31, 2021
@brycelelbach brycelelbach removed the needs-revision Paper needs changes before it can proceed label Sep 9, 2021
@brycelelbach brycelelbach added IS Ship vehicle: IS C++23 Targeted at C++23 labels Sep 18, 2021
@wg21bot
Copy link
Collaborator Author

wg21bot commented Sep 20, 2021

P2278R1 cbegin should always return a constant iterator (Barry Revzin)

@brycelelbach brycelelbach added ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll needs-revision Paper needs changes before it can proceed and removed ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Nov 9, 2021
@inbal2l
Copy link
Collaborator

inbal2l commented Nov 10, 2021

An updated P2278R1 was seen by LEWG on 2021-11-09. (Full Minutes)

Polls

POLL: Modify “P2278R1 cbegin should always return a constant iterator” by changing the names to “all_const”, and adding const iterator alias, const reference alias, feature test macro, and then send the revised paper to LWG for C++23 with priority level 2 (to be confirmed with library evolution electronic poll).

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
12 9 0 0 0

Attendance: 27

# of Authors: 1

Author Position: SF

Outcome: Strong Consensus In Favor

Outcome

We considered the two solutions proposed at "P2276R0: Fix std::cbegin(), std::ranges::cbegin, and cbegin() for span" and "P2278R1: cbegin should always return a constant iterator", and accepted the second paper (more comprehensive, reviewed by implementer of ranges v3). P2278R1 was moved forward with strong consensus in favor.

Few fixes was requested:

  • Add const_iterator_t and const_reference alias.
  • Rename of as_const to all_const.
  • Fix to 24.7.?.1 Overview [range.const.overview], 2.2.
  • Add a feature test macro.

The paper was forwarded (after applying the fixes) to LWG for C++23, priority 2 (fix) (to be confirmed with LEWG electronic poll).

@jensmaurer jensmaurer removed this from the 2021-telecon milestone Nov 12, 2021
@wg21bot
Copy link
Collaborator Author

wg21bot commented Nov 26, 2021

P2278R2 cbegin should always return a constant iterator (Barry Revzin)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Nov 26, 2021
@wg21bot wg21bot added this to the 2021-telecon milestone Nov 26, 2021
@brycelelbach brycelelbach added the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Dec 6, 2021
@cor3ntin cor3ntin removed the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Dec 7, 2021
@JeffGarland JeffGarland added the LWG Library label Dec 13, 2021
@brycelelbach brycelelbach added the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Dec 19, 2021
@jensmaurer jensmaurer modified the milestones: 2021-telecon, 2022-telecon Jan 1, 2022
@cor3ntin
Copy link

cor3ntin commented Jan 16, 2022

2021-12 Library Evolution Electronic Poll Outcomes

POLL: Send [P2278R2] (cbegin Should Always Return A Constant Iterator) to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
10 12 2 2 0

Consensus in favor, forwarded to LWG

@cor3ntin cor3ntin removed LEWG Library Evolution ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll labels Jan 16, 2022
@wg21bot
Copy link
Collaborator Author

wg21bot commented Apr 25, 2022

P2278R3 cbegin should always return a constant iterator (Barry Revzin)

@brycelelbach
Copy link

2022-05-31 Library Evolution Telecon

P2278R3: cbegin should always return a constant iterator

2022-05-31 Library Evolution Telecon Minutes

P2446R2: views::as_rvalue

2022-05-31 Library Evolution Telecon Minutes

Chair: Bryce Adelstein Lelbach

Minute Taker: Dietmar Kühl

Champion: Barry Revzin

Start: 2022-05-31 11:45 Eastern

Proposal is to call these adaptors as_const and as_rvalue (previously all_const and all_move).

We seem to be onboard with these names, we will start a mailing list motion to confirm the change.

End: 11:48

Summary

We discussed a solution to the naming of the adaptors previously known as all_const and all_move.
The suggested new names are as_const (which was its original name) and as_rvalue.

Library Evolution had broad support for these names.

Next Steps

  • Start a mailing list motion to confirm renaming all_const to as_const (from P2278R3) and all_move to as_rvalue (from P2446R2).
  • Assuming the mailing list motion is successful, take an electronic poll to confirm returning them to Library for C++23.

@brycelelbach brycelelbach added ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll LEWG Library Evolution and removed scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Jun 17, 2022
@wg21bot
Copy link
Collaborator Author

wg21bot commented Jun 24, 2022

P2278R4 cbegin should always return a constant iterator (Barry Revzin)

@brycelelbach brycelelbach added the scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review label Jun 29, 2022
@JeffGarland
Copy link
Member

LWG reviewed and approved 2022-06-17 meeting

Notes: https://wiki.edg.com/bin/view/Wg21telecons2022/P2278-20220617

poll: put P2278r4 into C++23?

F A N
12 0 0

@JeffGarland JeffGarland added tentatively-ready-for-plenary Reviewed between meetings; ready for a vote. and removed B2 - improvement Bucket 2 as described by P0592: bug fixes, performance improvements, integration fixes for/between e labels Jul 4, 2022
@brycelelbach brycelelbach added the lwg-pending LWG Chair needs to disposition label Jul 8, 2022
@JeffGarland JeffGarland removed the lwg-pending LWG Chair needs to disposition label Jul 8, 2022
@brycelelbach
Copy link

2022-07 Library Evolution Electronic Poll Outcomes

Poll 1.7: Send [P2278R4] cbegin Should Always Return A Constant Iterator to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
16 8 0 0 0

Outcome: Unanimous consensus in favor.

@brycelelbach brycelelbach removed LEWG Library Evolution ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll scheduled-for-library-evolution This paper has been scheduled for one of the groups: LEWG, LEWG Incubator, or a Mailing List review labels Jul 22, 2022
@cor3ntin cor3ntin added the plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. label Jul 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++23 Targeted at C++23 IS Ship vehicle: IS LWG Library plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. ranges std::ranges tentatively-ready-for-plenary Reviewed between meetings; ready for a vote.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants