https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123211

Patrick Palka <ppalka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ppalka at gcc dot gnu.org

--- Comment #7 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Segmented iterator concept implemented and enabled for join_view, concat_view
and deque. We took a callback-style approach for the API instead of more
fundamental primitives (like in https://lafstern.org/matt/segmented.pdf) for
various reasons, see
https://gcc.gnu.org/pipermail/gcc-patches/2026-July/723822.html.

> Cause distance(transform_view) should just be distance(transform_view.base()) 
> too, cause otherwise distance(... | join | transform(f)) is slow.
Would it make sense to recognize transform_view iterators as segmented if the
underlying iterator is?

> And then distance(filter_view) could just loop internally. 
> And distance(r | stride(k)) can be ceil(distance(r) / k), or something along 
> those lines. 
These I think would need to be implemented as separate optimizations.

Reply via email to