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

P0429 A Standard flatmap #101

Closed
jensmaurer opened this issue Jan 26, 2019 · 14 comments · Fixed by cplusplus/draft#5626
Closed

P0429 A Standard flatmap #101

jensmaurer opened this issue Jan 26, 2019 · 14 comments · Fixed by cplusplus/draft#5626
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. tentatively-ready-for-plenary Reviewed between meetings; ready for a vote.
Milestone

Comments

@jensmaurer
Copy link
Member

jensmaurer commented Jan 26, 2019

P0429R6 A Standard flatmap (Zach Laine)

https://issues.isocpp.org/show_bug.cgi?id=118

@jensmaurer jensmaurer added this to the 2019-02 milestone Jan 26, 2019
@jensmaurer jensmaurer added the LWG Library label Jan 26, 2019
@jensmaurer jensmaurer added this to Monday in LWG in Kona 2019 Feb 5, 2019
@mclow
Copy link

mclow commented Feb 20, 2019

Reviewed on Tuesday; Zach will return with an updated paper later in the week.

@jensmaurer
Copy link
Member Author

LEWG in Kona

@jensmaurer
Copy link
Member Author

LWG in Kona

@jensmaurer jensmaurer removed this from the 2019-02 milestone Mar 21, 2019
@wg21bot
Copy link
Collaborator

wg21bot commented Jun 23, 2019

P0429R7 A Standard flat_map (Zach Laine)

@wg21bot wg21bot added this to the 2019-07 milestone Jun 23, 2019
@mclow mclow added the C++20 Targeted at C++20 label Jul 8, 2019
@jensmaurer jensmaurer modified the milestones: 2019-07, 2019-11 Aug 23, 2019
@mclow mclow removed the C++20 Targeted at C++20 label Nov 3, 2019
@mclow
Copy link

mclow commented Nov 3, 2019

This was not adopted for C++20. Removing the "C++20" label.

@jensmaurer jensmaurer modified the milestones: 2019-11, 2020-06 Feb 18, 2020
@JeffGarland JeffGarland added IS Ship vehicle: IS lwg-prereview Needs LWG initial review before full group labels Mar 25, 2020
@ben-craig ben-craig added B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 size - large paper size estimate labels Oct 17, 2020
@JeffGarland JeffGarland added lwg-fullreview Paper is ready for lwg full group review and removed lwg-prereview Needs LWG initial review before full group labels Dec 8, 2020
@jensmaurer jensmaurer modified the milestones: 2020-telecon, 2021-telecon Dec 28, 2020
@JeffGarland
Copy link
Member

LWG did a review of the paper in 2020-12-11 telecom. Notes here:

https://wiki.edg.com/bin/view/Wg21fall2020/P0429-2020-12-11

Changes requested

@JeffGarland JeffGarland added the needs-revision Paper needs changes before it can proceed label Jan 12, 2021
@JeffGarland JeffGarland added C++23 Targeted at C++23 and removed needs-revision Paper needs changes before it can proceed labels Sep 18, 2021
@jensmaurer jensmaurer removed this from the 2021-telecon milestone Jan 1, 2022
@jensmaurer jensmaurer added this to the 2022-telecon milestone Jan 1, 2022
@cor3ntin
Copy link

Billy O'Neal informed me that future flat_map review might want to look at #596 which will run into a similar issue for its swap implementation. My understanding is that Billy recommends throwing swap should not be supported

@cor3ntin cor3ntin added the ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list label Apr 18, 2022
@wg21bot
Copy link
Collaborator

wg21bot commented Apr 25, 2022

P0429R8 A Standard flat_map (Zach Laine)

@inbal2l inbal2l added ready-for-library-evolution-electronic-poll This paper needs to undergo a Library Evolution electronic poll and removed ready-for-library-evolution-mailing-list-review This paper needs to be discussed on the Library Evolution mailing list labels Jun 7, 2022
@inbal2l
Copy link
Collaborator

inbal2l commented Jun 7, 2022

  • LEWG reviewed the latest revisions of the papers "D0429R9: A Standard flat_map" & "D1222R4: A Standard flat_set" during 2022-05-31 telecon (as an extra content for spare meeting time) and reaffirmed forwarding them for C++23 (to be confirmed with an electronic poll)
  • Closing LEWG ML motion to forward the papers which started on 2022-05-17

@JeffGarland JeffGarland added tentatively-ready-for-plenary Reviewed between meetings; ready for a vote. and removed lwg-fullreview Paper is ready for lwg full group review size - large paper size estimate labels Jun 17, 2022
@JeffGarland
Copy link
Member

JeffGarland commented Jun 17, 2022

LWG reviewed and approved over several sessions for c++23.
todo: link for 20220617
https://wiki.edg.com/bin/view/Wg21telecons2022/P0429-20220610
https://wiki.edg.com/bin/view/Wg21telecons2022/P0429-20220603

poll: adopt P0429R9 for c++23 - Jonathan/Jeff to review minor changes.

F A N
6 0 0

@brycelelbach
Copy link

2022-05-31 Library Evolution Telecon

P0429R9: flat_map

2022-05-31 Library Evolution Telecon Minutes

P1222R4: flat_set

2022-05-31 Library Evolution Telecon Minutes

Chair: Bryce Adelstein Lelbach

Minute Taker: Dietmar Kühl

Champion: Zach Laine

Start: 2022-05-31 12:09 Eastern

6 changes that have happened to flat_map/flat_set. None of those are innovations - they are changes made based to be consistent with other papers in flight:

  1. Replacing the explicit comparison operators with spaceship.
  2. Providing erase_if overloads.
  3. Heterogeneous operations.
  4. ranges::to support.
  5. Formatting support.
  6. Removing the redundant from range flat_map constructors.

Does this proposal have:

  • Examples?
    • Yes.
  • Field experience?
    • We believe that a Library implementer has implemented the proposed changes for flat_set.
  • Wording?
    • Yes.

POLL: Return D0429R9 (flat_map) to Library for C++23 classified as B3 - addition (to be confirmed with a Library Evolution electronic poll).

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
2 9 0 0 0

Attendance: 21

# of Authors: 1

Author Position: SF

Outcome: Unanimous consensus in favor.

POLL: Return D1222R4 (flat_set) to Library for C++23 classified as B3 - addition (to be confirmed with a Library Evolution electronic poll).

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
2 8 0 0 0

Attendance: 21

# of Authors: 1

Author Position: SF

Outcome: Unanimous consensus in favor.

End: 12:30

Summary

We discussed some updates that need to be made to flat_map and flat_set to bring them in line with other proposals in flight.
These updates are not completely new or novel; they're just an extension of other changes that Library Evolution made.
For example, we added heterogeneous overloads to the Standard Library's existing associative containers, so we should add them to flat_set and flat_map.

Library wanted to make sure that Library Evolution was okay with these updates, as they contain some design changes.
After briefly reviewing the changes, we felt that they were fine and the papers can proceed in Library.

Next Steps

  • Publish D0429R9 (flat_map) and D1222R4 (flat_set).
  • Take an electronic poll to confirm returning D0429R9 (flat_map) and D1222R4 (flat_set) to Library for C++23 classified as B3 - addition.

@brycelelbach brycelelbach added the LEWG Library Evolution label Jun 17, 2022
@wg21bot
Copy link
Collaborator

wg21bot commented Jun 24, 2022

P0429R9 A Standard flat_map (Zach Laine)

@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
@brycelelbach brycelelbach added the lwg-pending LWG Chair needs to disposition label Jul 8, 2022
@JeffGarland JeffGarland removed lwg-pending LWG Chair needs to disposition B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 labels Jul 8, 2022
@brycelelbach
Copy link

2022-07 Library Evolution Electronic Poll Outcomes

Poll 1.1: Return [P0429R9] flat_map to Library Working Group for C++23, classified as an addition ([P0592R4] bucket 3 item).

Strongly Favor Weakly Favor Neutral Weakly Against Strongly Against
15 13 1 0 0

Outcome: Strong 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. tentatively-ready-for-plenary Reviewed between meetings; ready for a vote.
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

8 participants