命名空间
变体
操作

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

来自 cppreference.cn
 
 
范围库 (Ranges library)
范围适配器 (Range adaptors)
 
 
constexpr decltype(auto) operator*() const
    noexcept(/* 参阅描述 */);
(C++23 起)

返回通过将类型为 F 的可调用对象应用于底层所指向的元素而获得的转换元素。

等价于

return
    std::apply
    (
        [&](auto const&... iters) -> decltype(auto)
        {
            return std::invoke(*parent_->fun_, *iters...);
        },
        inner_.current_
    );

其中 *parent_->fun_ 是存储在父 ranges::zip_transform_view 中的转换函数,而 current_ 是指向 Views... 的迭代器底层元组。

目录

[编辑] 参数

(无)

[编辑] 返回值

转换(映射)结果的元素。

[编辑] 异常

noexcept 规范:  
noexcept(std::invoke(*parent_->fun_, *std::get<INTS>(inner_.current_)...))
其中 INTS 是整数包 0, 1, ..., (sizeof...(Views)-1)

[编辑] 注意

未提供 operator->

如果 parent_ 指向父 ranges::zip_transform_view 的指针为 null(例如,如果 *this 是默认构造的),则行为是未定义的。

[编辑] 示例