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)

    1. 기본 뷰 V에서 각 위치 i에 대해 [i, i+N) 구간의 N개 요소를 묶은 std::tuple(N>1) 또는 단일 값(N==1)을 생성하는 뷰.
    1. 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개예요.

더 알아보기 (Learn more)

cppreference