std::ranges::adjacent_transform_view<V,F,N>::begin
From cppreference.com
< cpp | ranges | adjacent transform view
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Ranges library
(C++23)(C++23)
(C++26)(C++26)
(C++23)(C++23)
(C++26)(C++26)
(C++26)(C++26)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
std::ranges::adjacent_transform_view
adjacent_transform_view::begin
Member functions
Non-member functions
Member functions
Non-member functions
constexpr auto begin();
(1)
(since C++23)
constexpr auto begin() const
(2)
(since C++23)
requires ranges::range <const InnerView> &&
std::regular_invocable <const F&,
Returns an iterator to the first element of the adjacent_transform_view
.
Let inner_
be the underlying ranges::adjacent_view.
1) Equivalent to return /*iterator*/<false>(*this, inner_.begin());.
2) Equivalent to return /*iterator*/<true>(*this, inner_.begin());.
Contents
[edit] Parameters
(none)
[edit] Return value
Iterator to the first element.
[edit] Example
Run this code
#include <ranges> int main() { auto sum = [](auto... args) { return (... + args); }; constexpr auto view = std::views::iota (13, 1337) | std::views::adjacent_transform <3>(sum); static_assert(*view.begin() == 42 and 42 == 13 + 14 + 15); }