iter_move(ranges::enumerate_view::iterator)
来自 cppreference.cn
< 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>
是参数的关联类时,才能通过实参依赖查找找到。
内容 |
[edit] 参数
i | - | 迭代器 |
[edit] 返回值
一个元组,其中包含索引以及将 ranges::iter_move 应用于所存储迭代器的结果。
[edit] 异常
noexcept 规范:
noexcept(
noexcept(ranges::iter_move(i.current_)) 且
std::is_nothrow_move_constructible_v<
ranges::range_rvalue_reference_t<Base>>
[edit] 参见
(C++20) |
将解引用对象的结果强制转换为其关联的右值引用类型 (定制点对象) |