iter_move(ranges::enumerate_view::iterator)
来自cppreference.com
< cpp | ranges | enumerate view | iterator
friendconstexprauto 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) | 转换解引用迭代器的结果为其关联的右值引用类型 (定制点对象) |