std::ranges::adjacent_transform_view<V,F,N>:: adjacent_transform_view
From cppreference.net
<
cpp
|
ranges
|
adjacent transform view
C++
Ranges library
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
std::ranges::adjacent_transform_view
| Member functions | ||||
|
adjacent_transform_view::adjacent_transform_view
|
||||
| Iterator | ||||
| Member functions | ||||
| Non-member functions | ||||
| Sentinel | ||||
| Member functions | ||||
| Non-member functions | ||||
|
adjacent_transform_view
(
)
=
default
;
|
(1) | (depuis C++23) |
|
constexpr
explicit
adjacent_transform_view
(
V base, F fun
)
;
|
(2) | (depuis C++23) |
Construit un
adjacent_transform_view
.
1)
Constructeur par défaut.
Initialise par défaut
les membres de données sous-jacents
fun_
et
inner_
.
2)
Construit par déplacement les membres de données sous-jacents :
fun_
avec
std
::
move
(
fun
)
et
inner_
avec
std
::
move
(
base
)
.
Paramètres
| base | - | la vue sous-jacente |
| fun | - | la fonction de transformation N-aire |
Exemple
Exécuter ce code
#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'; }
Sortie :
6 24 60