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)
-
- 기본 뷰 V의 인접한 요소 쌍이 술어 Pred를 만족하는 동안 하나의 하위 범위(청크)로 묶어 생성하는 뷰. 즉
pred(a[i], a[i+1])이 참인 최대 구간들로 나눠요.
- 기본 뷰 V의 인접한 요소 쌍이 술어 Pred를 만족하는 동안 하나의 하위 범위(청크)로 묶어 생성하는 뷰. 즉
-
- chunk_by 뷰를 생성하는 뷰 팩토리 객체.
멤버 함수 (Member functions)
- (constructor) — chunk_by 뷰 생성
- begin / end — 하위 범위(청크)를 생성하는 반복자/센티널 반환
- pred — 술어 접근
참고 (Notes)
views::chunk_by(r, pred)로 생성해요. 인접 요소 간 관계로 그룹화할 때 유용해요.