ranges_chunk_by_view

ranges_chunk_by_view (조건 청크 뷰)

std::ranges::chunk_by_view은 술어가 만족하는 연속 요소들을 각각 하나의 하위 범위(청크)로 묶어 생성하는 뷰예요. C++23부터 사용할 수 있어요.

출처: cppreference

본문

<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.

template< ranges::forward_range V, std::indirect_binary_predicate<iterator_t<V>,
          ranges::iterator_t<V>> Pred >
    requires ranges::view<V> && std::is_object_v<Pred>
class chunk_by_view
    : public ranges::view_interface<chunk_by_view<V, Pred>>

(1) (since C++23)

namespace views {
    inline constexpr /* unspecified */ chunk_by = /* unspecified */;
}

(2)

    1. 기본 뷰 V의 인접한 요소 쌍이 술어 Pred를 만족하는 동안 하나의 하위 범위(청크)로 묶어 생성하는 뷰. 즉 pred(a[i], a[i+1])이 참인 최대 구간들로 나눠요.
    1. chunk_by 뷰를 생성하는 뷰 팩토리 객체.

멤버 함수 (Member functions)

  • (constructor) — chunk_by 뷰 생성
  • begin / end — 하위 범위(청크)를 생성하는 반복자/센티널 반환
  • pred — 술어 접근

참고 (Notes)

views::chunk_by(r, pred)로 생성해요. 인접 요소 간 관계로 그룹화할 때 유용해요.

더 알아보기 (Learn more)

cppreference