Spec-Zone.ru › C++

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API