命名空间
变体
操作

iter_move(ranges::enumerate_view::iterator)

来自 cppreference.com
 
 
范围库
范围适配器
 
 
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_))
        std::is_nothrow_move_constructible_v<
            ranges::range_rvalue_reference_t<Base>>

)

[编辑] 另请参阅

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