iter_move(ranges::enumerate_view::iterator)
来自cppreference.com
                    
                                        
                    < cpp | ranges | enumerate view | iterator
                    
                                                            
                    |   friend constexpr auto iter_move( const /*iterator*/& i ) noexcept(/* 见下文 */)  | 
(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)  | 
  将解引用迭代器的结果转型为其关联的右值引用类型  (定制点对象)  |