Landing: 133a57041f2d
Project / Subsystem
gcc / libstdc++
Date
2026-07-31
Author
Patrick Palka
Commit
133a57041f2d000f4089006770f10dc5c21ced04
Source
github
Perf win
Yes
Breaking
No
All attributes
- project
- gcc
- subsystem
- libstdc++
- patch_id
- —
- commit_hash
- 133a57041f2d000f4089006770f10dc5c21ced04
- source_type
- github
- headline
- Libstdc++: Introduce segmented iterator concept and traversal.
- tldr
- Defines a 'segmented iterator' concept and traversal mechanism for composed ranges in libstdc++.
- author
- Patrick Palka
- outcome
- committed
- performance_win
- true
- breaking_change
- false
- series_id
- —
- series_parts
- []
- tags
-
- • libstdc++
- • c++20
- • ranges
- • iterator
- discussion_id_link
- —
- bugzilla_pr
- —
- date
- 2026-07-31T00:00:00.000Z
Libstdc++ now introduces the concept of ‘segmented iterators’ and a utility function std::__for_each_segment for traversing them. These iterators represent ranges composed of sub-ranges, and they must provide a special member function for segment traversal. This change implements this traversal mechanism for std::deque, ranges::join_view, and ranges::concat_view, laying the groundwork for optimizations like efficient distance calculations.