cplusplus / papers

ISO/IEC JTC1 SC22 WG21 paper scheduling and management
656 stars 18 forks source link

P2727 R4 std::iterator_interface #1404

Open wg21bot opened 1 year ago

wg21bot commented 1 year ago

P2727R0 std::iterator_interface (Zach Laine)

brycelelbach commented 1 year ago

2023-01-17 Library Evolution Telecon

P2727R0: iterator_interface

2023-01-17 Library Evolution Telecon Minutes

Champion: Zach Laine

Chair: Bryce Adelstein Lelbach

Minute Taker: Ben Craig

Start: 2023-01-17 11:06 Eastern

Does this paper have:

Open Questions:

Key Insights:

Typos:

It would be nice if we could do using my_base_class::* and get everything.

End: 12:02

Summary

This paper proposes facilities to ease writing iterators. The facilities are CRTP base classes and other helpers.

We reviewed the general design in depth. One issue that arose was the usability of these facilities when they are dependent base classes and names from the base classes are not injected into the derived class.

We also discussed potential performance implications, including both run-time and compile-time concerns.

This paper is in the early stages, so we'll definitely be seeing it again.

Next Steps

Revise the paper according to the following guidance and return to Library Evolution for further review:

inbal2l commented 1 year ago

P2727R1 std::iterator_interface (Zach Laine)

brycelelbach commented 1 year ago

2023-03-21 Library Evolution Telecon

P2727R1: iterator_interface

2023-03-21 Library Evolution Telecon Minutes

Champion: Zach Laine

Chair: Fabio Fracassi

Minute Taker: Ben Craig

Summary

Sentinel support for random access iterator?

make operator-> optional?

Document the issues with deducing this / operator<=> does not work to simplify that code.

use advance/distance_to, ... as names for customization types?

Wrapped vs new iterators

Fix iterator categories to make sure that C++20 iterator categories are observed.

Next Steps

We will see a revision of the paper

brycelelbach commented 1 year ago

P2727R2 will be available in the 2023-05 mailing.

FabioFracassi commented 1 year ago

2023-06-14 Library Evolution Varna Meeting

P2727R3: iterator_interface

2023-03-21 Library Evolution Telecon Minutes

Champion: Zach Laine

Chair: Fabio Fracassi

Minute Taker: Robert Leahy

POLL: We agree on the design of P2727r3, provide wording for the next revision.

SF F N A SA
6 8 0 0 0

Outcome: Unanimous consent

Summary

We made sure that the previous feedback has been incorporated, and looked at the additional implementation experience.

We approved the design.

Next Steps

We will see a revision of the paper, that includes initial wording, with the goal of forwarding the paper.

wg21bot commented 1 year ago

P2727R3 std::iterator_interface (Zach Laine)

inbal2l commented 1 year ago

The next revision of the paper requires wording.

wg21bot commented 9 months ago

P2727R4 std::iterator_interface (Zach Laine)

ben-craig commented 3 months ago

2024-08-06 Library Evolution Telecon

P2727R4: std::iterator_interface

2024-08-06 Library Evolution Telecon Minutes

Champion: Zach Laine Chair: Ben Craig Minute Taker: Mark Hoemmen

Summary

Mostly didn't have time to discuss, but there were mentions of objections to the design, so we should ensure that those objections are heard in the next meeting.

Next Steps

Wording and design discussion. Look up reflector discussions involving std::iterator_interface.