Implementing P3725R0 std::ranges:input_filter and std::ranges::filter

Discussed in the SG9 as part of the Sofia Meeting, input_filter made into the C++26, and filter_view is getting some changes.

We had a productive talk with Darius in Sofia and following that I would like to implement this feature for beman project. I managed to snatch a beman-project T-Shirt, so I am now legally obligated to contribute as well :smiling_face_with_three_hearts:

This is going to be my first contribution to the project which I am quite excited about.
It is clear that input_filter needs to be implemented, but I am curious whether I should adapt the changes regarding std::ranges::filter from the paper as well? Adding const overloads for begin and end, which means we need a mutable cache, and adding support for invalidating the predicate without UB are the main changes to the filter

The paper is available at the EDG wiki and not in the public lists as of now from what I see, so I am putting the link here for convenience.

Thank you so much!

1 Like

Hi @term-est - welcome!

At the moment what we’ve decided to do with ranges is make a repo for each view. So you have two. It looks like you’re already a member of the project so you should be good to go. Generally the approach is to use the github facility to create a repo using exemplar as the template – and then updating from there.

1 Like