Namespaces
Variants

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

De es.cppreference.net
 
 
Biblioteca de rangos
Adaptadores de rango
 
 
adjacent_transform_view() = default;
(1) (desde C++23)
constexpr explicit adjacent_transform_view( V base, F fun );
(2) (desde C++23)

Construye un adjacent_transform_view.

1) Constructor por defecto. Inicializa por defecto los miembros de datos subyacentes fun_ y inner_.
2) Construye mediante movimiento los miembros de datos subyacentes: fun_ con std::move(fun) y inner_ con std::move(base).

Parámetros

base - la vista subyacente
fun - la función de transformación N-aria

Ejemplo

#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';
}

Salida:

6 24 60