std::ranges::zip_transform_view<F,Views...>::iterator<Const>::operator[]
constexpr decltype(auto) operator[]( difference_type n ) const
requires ranges::random_access_range<Base>;
| (начиная с 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/cpp/ranges/zip_transform_view/iterator/operator_at