std::ranges::adjacent_transform_view<V,F,N>:: adjacent_transform_view
From cppreference.com
<
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) | (since C++23) |
constexpr
explicit
adjacent_transform_view
(
V base, F fun
)
;
|
(2) | (since C++23) |
Constructs an
adjacent_transform_view
.
2)
Move constructs the underlying data members:
fun_
with
std
::
move
(
fun
)
and
inner_
with
std
::
move
(
base
)
.
Parameters
base | - | the underlying view |
fun | - | the N-ary transformation function |
Example
Run this 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'; }
Output:
6 24 60
Retrieved from "
https://en.cppreference.com/mwiki/index.php?title=cpp/ranges/adjacent_transform_view/adjacent_transform_view&oldid=156855
"