@@ -33,14 +33,16 @@ __for_each(_InputIterator __first, _Sent __last, _Function& __f) {
3333 return std::move (__f);
3434}
3535
36- // __do_segment acts as a functor for processing individual segments within the __for_each_segment{, _n} algorithms.
37- template <class _InputIterator , class _Function >
38- struct __do_segment {
39- using _Traits _LIBCPP_NODEBUG = __segmented_iterator_traits<_InputIterator>;
36+ // __segment_processor handles the per-segment processing by applying the user-provided function to each element
37+ // within the segment. It acts as a functor passed to the segmented iterator algorithm __for_each_segment.
38+ template <class _SegmentedIterator , class _Function >
39+ struct __segment_processor {
40+ using _Traits _LIBCPP_NODEBUG = __segmented_iterator_traits<_SegmentedIterator>;
4041
4142 _Function& __func_;
4243
43- _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit __do_segment (_Function& __func) : __func_(__func) {}
44+ _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 explicit __segment_processor (_Function& __func)
45+ : __func_(__func) {}
4446
4547 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 void
4648 operator ()(typename _Traits::__local_iterator __lfirst, typename _Traits::__local_iterator __llast) {
@@ -53,7 +55,7 @@ template <class _SegmentedIterator,
5355 __enable_if_t <__is_segmented_iterator<_SegmentedIterator>::value, int > = 0 >
5456_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 _Function
5557__for_each (_SegmentedIterator __first, _SegmentedIterator __last, _Function& __func) {
56- std::__for_each_segment (__first, __last, std::__do_segment <_SegmentedIterator, _Function>(__func));
58+ std::__for_each_segment (__first, __last, std::__segment_processor <_SegmentedIterator, _Function>(__func));
5759 return std::move (__func);
5860}
5961
0 commit comments