iter_move(ranges::enumerate_view::iterator)
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
(
ranges::
iter_move
(
i.
current_
)
)
与
std::
is_nothrow_move_constructible_v
<
ranges::
range_rvalue_reference_t
<
Base
>>
参见
|
(C++20)
|
将对对象解引用的结果转换为其关联的右值引用类型
(定制点对象) |