命名空间
变体
操作

iter_move(ranges::enumerate_view::iterator)

来自 cppreference.cn
 
 
范围库 (Ranges library)
范围适配器 (Range adaptors)
 
 
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 的结果。

[编辑] 异常

noexcept 规范:  
noexcept(

    noexcept(ranges::iter_move(i.current_)) and
        std::is_nothrow_move_constructible_v<
            ranges::range_rvalue_reference_t<Base>>

)

[编辑] 参阅

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