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

P2164 views::enumerate #875

Closed
wg21bot opened this issue May 21, 2020 · 20 comments · Fixed by cplusplus/draft#6135
Closed

P2164 views::enumerate #875

wg21bot opened this issue May 21, 2020 · 20 comments · Fixed by cplusplus/draft#6135
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 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 size - medium paper size estimate tentatively-ready-for-plenary Reviewed between meetings; ready for a vote.
Milestone

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented May 21, 2020

P2164R0 views::enumerate (Corentin Jabot)

@wg21bot wg21bot added the LEWG Library Evolution label May 21, 2020
@wg21bot wg21bot added this to the 2020-telecon milestone May 21, 2020
@wg21bot
Copy link
Collaborator Author

wg21bot commented Jun 17, 2020

P2164R1 views::enumerate (Corentin Jabot)

@brycelelbach brycelelbach added this to 2020-07-13 Telecon in Library Evolution Telecons Jul 7, 2020
@brycelelbach brycelelbach moved this from 2020-07-13 Telecon to Weekly Mailing List Discussions in Library Evolution Telecons Jul 12, 2020
@brycelelbach brycelelbach added B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 IS Ship vehicle: IS ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list labels Aug 25, 2020
@brycelelbach brycelelbach moved this from Unscheduled to Ongoing in Library Evolution Mailing List Reviews Sep 1, 2020
@brycelelbach brycelelbach moved this from Ongoing to Unscheduled in Library Evolution Mailing List Reviews Sep 1, 2020
@inbal2l
Copy link
Collaborator

inbal2l commented Sep 23, 2020

A short summary of the feedback form ML, closed on 14 Sep 2020:

  1. index's type should be replaced from difference_type to count_type .
    The bug was fixed on R2
  2. enumerate's value_type should have range_value_t value, instead of range_reference_t value.
    The bug was fixed on R2
  3. A suggestion to reconsider the return value of enumerate.
  4. A suggestion to define enumerate(v) as zip(iota(0), v) instead of having enumerate as a standalone adapter (which will allow composing enumerate from another view)
    Author:
  • zip is not yet in C++23 plans.
  • zip is a heavier machinery. The current is simpler, lighter design, provides better diagnostics/compile time.

@wg21bot
Copy link
Collaborator Author

wg21bot commented Sep 23, 2020

P2164R2 views::enumerate (Corentin Jabot)

@brycelelbach brycelelbach added the C++23 Targeted at C++23 label Oct 15, 2020
@brycelelbach
Copy link

This will probably get rolled into the upcoming "Plan for C++23 ranges" effort. We'll leave it separate for now, but it should be tagged for meeting review not mailing list review.

@brycelelbach brycelelbach added ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting and removed ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list labels Oct 20, 2020
@brycelelbach brycelelbach removed this from Unscheduled in Library Evolution Telecons Oct 20, 2020
@wg21bot
Copy link
Collaborator Author

wg21bot commented Nov 23, 2020

P2164R3 views::enumerate (Corentin Jabot)

@jensmaurer jensmaurer modified the milestones: 2020-telecon, 2021-telecon Dec 28, 2020
@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 Jan 27, 2021
@nliber
Copy link
Collaborator

nliber commented Feb 18, 2021

2021-02-09 Library Evolution Telecon

P2164R3: views::enumerate

2021-02-09 Library Evolution Telecon Minutes

Summary

Some discussion was around having const members, which inhibit assignment. The general feeling was not to have them.

The larger discussion was around whether or not we want named fields at all vs. tuple. The arguments in favor of tuple is that otherwise there is a lot more that needs to be added (comparisons, cross conversions, etc.). The author was asked to come back with a revision containing a cost-benefit analysis of adding a new type with named fields for this.

Outcome

Bring a revision of P2164R3 (views::enumreate), with the guidance below, to Library Evolution for further design review.

  • Compare and contrast having enumerate return an aggregate struct with named members versus a tuple so that Library Evolution can decide between the two approaches.

@brycelelbach brycelelbach added needs-revision Paper needs changes before it can proceed ready-for-library-evolution-meeting-review This paper needs to be discussed at a Library Evolution meeting 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 Feb 19, 2021
@wg21bot
Copy link
Collaborator Author

wg21bot commented Feb 22, 2021

P2164R4 views::enumerate (Corentin Jabot)

@wg21bot wg21bot removed the needs-revision Paper needs changes before it can proceed label Feb 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 Feb 23, 2021
@brycelelbach brycelelbach added the C++23 Targeted at C++23 label Nov 4, 2022
@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 Nov 7, 2022
@inbal2l
Copy link
Collaborator

inbal2l commented Nov 11, 2022

Reviewed by SG9 at Kona2022 meeting (Full Minutes).

Polls

POLL: We would prefer the tuple solution for “P2164: views::enumerate” (which is the safer way).

SF F N A SA
7 5 0 0 0

Attendance: 15 (on-site 11, online 4)

# of Authors: 1

Author’s position: F

Outcome: Strong consensus in favor

POLL: We support applying the resolution of “FR#416: FR-014-021 26.6 (range.factories) Add views::enumerate (duplicate: US#525)”, and forward “P2164: views::enumerate” to C++23 with the proposed resolution.

SF F N A SA
4 5 0 1 0

Attendance: 15: 4 11

# of Authors: 1

Author’s position: SF

Outcome: Consensus in favor

A: Oppose to adding features by NB comments

Summary

The author has presented the paper. There was a design question - whether we want tuple (which was implemented and is the simpler solution) or an aggregate (which was not implemented, and expected to have difficulty in implementation). SG9 voted for tuple (the verified solution).

SG9 supports the resolution proposed in the NB comment - adopting P2164 to C++23 (with the design guidance - use tuple and not aggregate). Will be passed for LEWG's final decision.

The issue was forwarded to LEWG.

@inbal2l
Copy link
Collaborator

inbal2l commented Nov 12, 2022

New version: https://isocpp.org/files/papers/D2164R8.pdf

@inbal2l inbal2l removed the SG9 Ranges SG label Nov 12, 2022
@brycelelbach brycelelbach added size - medium paper size estimate ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll 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 17, 2022
@inbal2l
Copy link
Collaborator

inbal2l commented Nov 17, 2022

LEWG discussed R8 of this paper at the 2022-11 Kona meeting (full minutes) and forwarded the paper (with the design recommendation to use tuple) for C++23. NB comment resolved as "accepted".

Polls

POLL: We want the “aggregate” solution over the “tuple” solution for “P2164: views::enumerate”

SF F N A SA
1 2 2 6 8

Attendance: 25 (20 onsite, 5 on-line)

# of Authors: 1xSA

Author Position: Consensus against

POLL: Apply the resolution of NB comment: “FR#416: FR-014-021 26.6 (range.factories) Add views::enumerate” (duplicate of: “US 48-108 26 [ranges] Add views::enumerate”) (issue: cplusplus/nbballot#416) for C++23

SF F N A SA
6 10 0 2 2

Attendance: 25 (20 onsite, 5 on-line)

# of Authors: 1xSF

Author Position: Consensus in favor

Summary

Author will update the paper according to LEWG's design recommendation, the paper will target C++23 (to be confirmed with electronic poll).

@brycelelbach
Copy link

brycelelbach commented Nov 17, 2022 via email

@brycelelbach
Copy link

brycelelbach commented Nov 17, 2022 via email

@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 Nov 18, 2022
@JeffGarland JeffGarland added the LWG Library label Nov 19, 2022
@wg21bot
Copy link
Collaborator Author

wg21bot commented Dec 5, 2022

P2164R8 views::enumerate (Corentin Jabot)

@jwakely
Copy link
Member

jwakely commented Dec 7, 2022

LWG reviewed D2164R9 and approved P2164R9 for C++, ship vehicle to be confirmed by LEWG electronic poll.

F N A
8 1 0

@wg21bot
Copy link
Collaborator Author

wg21bot commented Jan 16, 2023

P2164R9 views::enumerate (Corentin Jabot)

@brycelelbach
Copy link

2022-11 Library Evolution Electronic Poll Outcomes

Poll 1.1: Send [P2164R8] views::enumerate to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
11 7 1 2 3

Outcome: 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 Jan 23, 2023
@jensmaurer jensmaurer modified the milestones: 2022-telecon, 2023-02 Jan 25, 2023
@JeffGarland JeffGarland added the tentatively-ready-for-plenary Reviewed between meetings; ready for a vote. label Jan 28, 2023
@JeffGarland
Copy link
Member

Ship vehicle is confirmed to be c++23 so marking tentatively ready for plenary

@cor3ntin cor3ntin added the plenary-approved Papers approved for inclusion in their target vehicle by plenary vote. label Feb 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 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 size - medium paper size estimate tentatively-ready-for-plenary Reviewed between meetings; ready for a vote.
Projects
Status: Tentatively Ready
Development

Successfully merging a pull request may close this issue.

8 participants