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_ 是父级 ranges::zip_transform_view 中存储的类型为 F 的转换函数,而 current_ 是底层指向 Views... 的迭代器元组。

目录

参数

n - 相对于当前位置的偏移量。

返回值

变换(映射)结果所对应的元素。

注释

当指向父级 ranges::zip_transform_view parent_ 指针为空时(例如当 * this 为默认构造对象),该行为是未定义的。

示例