Namespaces
Variants

std::ranges::zip_transform_view<F,Views...>:: iterator <Const>:: operator[]

From cppreference.net
Ranges library
Range adaptors
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 является нулевым (например, если * this создан конструктором по умолчанию).

Пример