std::ranges::adjacent_view<V,N>::begin - cppreference.com (original) (raw)

constexpr auto begin() requires (!__SimpleView<V>); (1) (since C++23)
constexpr auto begin() const requires ranges::range<const V>; (2) (since C++23)

Returns an iterator to the first element of the adjacent_view.

Let base_ be the underlying view.

[edit] Parameters

(none)

[edit] Return value

Iterator to the first element.

[edit] Example

#include #include #include   int main() { constexpr static auto v = {'A', 'B', 'C', 'D', 'E'};   constexpr auto view = std::views::adjacent<3>(v);   constexpr auto tuple = *view.begin();   static_assert ( std::is_same_v < decltype(tuple), const std::tuple<char const&, char const&, char const&> > );   static_assert ( std::get<0>(tuple) == 'A' && std::get<1>(tuple) == 'B' && std::get<2>(tuple) == 'C' ); }

[edit] See also

| | returns an iterator or a sentinel to the end (public member function) [edit] | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | | returns an iterator to the beginning of a range(customization point object)[edit] |