Namespaces
Variants

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

来自 zh.cppreference.net
 
 
范围库
范围适配器
 
 
constexpr decltype(auto) operator*() const
    noexcept(/* see description */);
(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 - > 未提供。

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

示例