std::ranges::zip_transform_view<F,Views...>::iterator<Const>::operator[]
constexpr decltype(auto) operator[]( difference_type n ) const
requires ranges::random_access_range<Base>;
| (since C++23) |
Возвращает элемент по указанному относительному расположению после преобразования.
Эквивалентно
return
std::apply
(
[&]<class... Is>(const Is&... iters) -> decltype(auto)
{
return std::invoke(*parent_->fun_, iters[std::iter_difference_t<Is>(n)]...);
},
inner_.current_
);где *parent_->fun_ — функция преобразования типа F, хранящаяся в родительском элементе ranges::zip_transform_view, а current_ — базовая кортеж итераторов в Views....
Параметры
| n | - | позиция относительно текущего расположения. |
Возвращаемое значение
Элемент, являющийся результатом преобразования (отображения).
Примечания
Поведение не определено, если указатель parent_ на родительский элемент ranges::zip_transform_view равен null (например, если *this создан по умолчанию).
Пример
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/zip_transform_view/iterator/operator_at