std::ranges::adjacent_view<V,N>::iterator<Const>::operator[]
constexpr auto operator[]( difference_type n ) const
requires ranges::random_access_range<Base>;
| (с C++23) |
Возвращает элемент в указанном относительном расположении.
Пусть current_ — это базовый массив итераторов.
Эквивалентно:
return __tuple_transform([&](auto& i) -> decltype(auto) { return i[n]; }, current_);Параметры
| n | - | позиция относительно текущего расположения |
Значение возврата
Элемент в смещении n относительно текущего расположения.
Пример
#include <ranges>
#include <tuple>
int main()
{
constexpr static auto v = {0, 1, 2, 3, 4, 5};
// └──┬──┘
// └─────────────────┐
constexpr auto view = v | std::views::adjacent<3>; // │
// ┌───────────────────┬──────────────┘
// │ ┌──┴──┐
static_assert(view[2] == std::tuple{2, 3, 4});
}
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/adjacent_view/iterator/operator_at