Namespaces
Variants

iter_move(ranges::enumerate_view::iterator)

来自 zh.cppreference.net
 
 
范围库
范围适配器
 
 
friend constexpr auto iter_move( const /*iterator*/& i ) noexcept(/* see below */)
(C++23 起)

令 current_ 为底层迭代器,pos_ 为底层索引,Base 为底层序列的(可能带有 cv 限定)类型。

等价于:

template<class D, class B>
using tuple = std::tuple<D, ranges::range_rvalue_reference_t<B>>;

return tuple<difference_type, Base>(i.pos_, ranges::iter_move(i.current_));

该函数对于普通的无限定或有限定查找不可见,只能通过实参依赖查找在 enumerate_view::iterator<Const> 是参数的关联类时找到。

参数

i - 迭代器

返回值

一个包含索引和应用 ranges:: iter_move 到所存储迭代器后结果的元组。

异常

参见

(C++20)
将对对象解引用的结果转换为其关联的右值引用类型
(定制点对象)