[PATCH v2] libstdc++: add default template parameters to algorithms
Jonathan Wakely
jwakely@redhat.com
Sun Sep 15 15:00:14 GMT 2024
On Fri, 13 Sept 2024 at 18:36, Patrick Palka <ppalka@redhat.com> wrote:
>
> On Fri, 13 Sep 2024, Patrick Palka wrote:
> >
> > Ah, we very recently implemented P2609R3 which has the following note
> > about projected_value_t: https://wg21.link/p2609r3#proposal
> >
> > Do we want to honor this note here and define projected_value_t as
> > remove_cvref_t<__indirect_value_t<_Iter>> then? It seems the working
> > draft doesn't define it that way despite having merged both these
> > papers.
>
> Oops, that seems wrong, it seems the correct definition in terms
> of indirect_value_t should be
>
> remove_cvref_t<indirect_value_t<projected<I, Proj>>>
>
> as mentioned in P2248R8/5.9.1.
That predates the note in p2609r3, because P2248R8 refers to P2609R0.
In P2609R3 indirect_value_t became the exposition-only
indirect-value-t which is our __detail::indirect_value_t.
I think the working draft should be changed as those two papers
suggest, but I'm not sure if there's any advantage to us making that
change proactively.
More information about the Libstdc++
mailing list