Scroll to navigation

std::ranges::adjacent_view::iterator::operator*(3) C++ Standard Libary std::ranges::adjacent_view::iterator::operator*(3)

NAME

std::ranges::adjacent_view::iterator::operator* - std::ranges::adjacent_view::iterator::operator*

Synopsis


constexpr auto operator*() const; (since C++23)


Returns the elements into V the underlying array of iterators points to.


Let current_ be an underlying array of iterators.


Equivalent to:


return __tuple_transform([](auto& i) -> decltype(auto) { return *i; }, current_);

Parameters


(none)

Return value


The current element, which is a std::tuple of references to underlying elements.

Notes


operator-> is not provided.

Example

// Run this code


#include <ranges>
#include <tuple>


int main()
{
constexpr static auto v = {0, 1, 2, 3, 4, 5};
// └──┬──┘
// └─────────────────┐
constexpr auto view {v | std::views::adjacent<3>}; // │
constexpr auto iter {view.begin() + 2}; // │
// ┌────────────────────┬────────────────┘
// │ ┌──┴──┐
static_assert(*iter == std::tuple{2, 3, 4});
}

See also


operator[] accesses an element by index
(C++23) (public member function)

2024.06.10 http://cppreference.com