命名空间
变体
操作

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

来自 cppreference.com
 
 
范围库
范围适配器
 
 
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_viewparent_ 指针为 null(例如,如果 *this 是默认构造的),则行为未定义。

[编辑] 示例