Landing: ea545f32c0e6

Project / Subsystem

gcc / libstdc++

Date

2026-09-29

Author

Tomasz Kamiński

Commit

ea545f32c0e6cab75d0e9cb882485c35632b4e6b

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
libstdc++
patch_id
—
commit_hash
ea545f32c0e6cab75d0e9cb882485c35632b4e6b
source_type
github
headline
libstdc++: Extract repeat_view::_Iterator to ranges_util.h
tldr
Refactors `repeat_view::_Iterator` into a standalone `_Repeat_iterator` in `bits/ranges_util.h` for better reusability.
author
Tomasz Kamiński
outcome
committed
performance_win
false
breaking_change
false
series_id
—
series_parts
[]
tags
  • • libstdc++
  • • C++20
  • • ranges
  • • iterator
  • • refactoring
discussion_id_link
—
bugzilla_pr
—
date
2026-09-29T00:00:00.000Z

The internal iterator for std::ranges::repeat_view has been extracted into a separate class, _Repeat_iterator, in bits/ranges_util.h. This change allows the iterator to be used in other parts of libstdc++ without pulling in the entire std/ranges header. It also enables new overloads for container functions and improves how iterators are constructed and specialized, especially concerning sentinels and difference types.