iter_move(ranges::transform_view::iterator)
来自 cppreference.com
< cpp | ranges | transform view | iterator
friend constexpr decltype(auto) iter_move( const /*iterator*/& i ) noexcept(/* see below */); |
(自 C++20 起) | |
如果 *i 是一个左值引用,则返回 std::move(*i); 否则返回 *i.
此函数对普通的 非限定 或 限定查找 不可見,只能通过 依赖于参数的查找 找到,当 transform_view::iterator<Const>
是参数的关联类时。
[编辑] 参数
i | - | 迭代器 |
[编辑] 返回值
std::move(*i) 如果 *i 是一个左值引用,否则 *i
[编辑] 异常
noexcept 规范:
其中 *i.parent_->fun_ 表示转换函数,i.current_ 表示底层迭代器。
noexcept(noexcept(std::invoke(*i.parent_->fun_, *i.current_)))