Namespaces
Variants

std::ranges::adjacent_transform_view<V,F,N>:: adjacent_transform_view

From cppreference.net
Ranges library
Range adaptors
adjacent_transform_view ( ) = default ;
(1) (C++23 이후)
constexpr explicit adjacent_transform_view ( V base, F fun ) ;
(2) (C++23 이후)

adjacent_transform_view 를 생성합니다.

1) 기본 생성자. 기본 초기화 를 통해 내부 데이터 멤버 fun_ inner_ 를 초기화합니다.
2) 기본 데이터 멤버들을 이동 생성합니다: fun_ std :: move ( fun ) 로, inner_ std :: move ( base ) 로.

매개변수

base - 기본 뷰
fun - N-ary 변환 함수

예제

#include <algorithm>
#include <iostream>
#include <iterator>
#include <ranges>
int main()
{
    constexpr static auto v = {1, 2, 3, 4, 5};
    constexpr auto mul = [](auto... x) { return (... * x); };
    constexpr auto view = std::views::adjacent_transform<3>(v, mul);
    std::ranges::copy(view, std::ostream_iterator<int>(std::cout, " "));
    std::cout << '\n';
}

출력:

6 24 60