ranges_adjacent_view
ranges_adjacent_view (인접 뷰)
std::ranges::adjacent_view은 기본 뷰에서 N개의 연속 요소를 묶은 튜플들을 생성하는 뷰예요. C++23부터 사용할 수 있어요.
출처: cppreference
본문
<ranges> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
template< ranges::forward_range V, std::size_t N >
requires ranges::view<V> && (N > 0)
class adjacent_view
: public ranges::view_interface<adjacent_view<V, N>>
(1) (since C++23)
namespace views {
template< std::size_t N >
constexpr /* unspecified */ adjacent = /* unspecified */;
}
(2)
-
- 기본 뷰 V에서 각 위치 i에 대해 [i, i+N) 구간의 N개 요소를 묶은
std::tuple(N>1) 또는 단일 값(N==1)을 생성하는 뷰.
- 기본 뷰 V에서 각 위치 i에 대해 [i, i+N) 구간의 N개 요소를 묶은
-
- adjacent 뷰를 생성하는 뷰 팩토리 객체.
멤버 함수 (Member functions)
- (constructor) — adjacent 뷰 생성
- base — 기본 뷰 반환
- begin / end — 반복자/센티널 반환
- size — max(size(V)-N+1, 0) 반환 (sized일 때)
참고 (Notes)
views::adjacent<N>(r)로 생성해요. 슬라이딩 윈도우처럼 연속 N개를 묶어 순회해요. 결과 수는 size - N + 1개예요.