iter_move(ranges::transform_view::iterator)
< 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 | - | 迭代器 |
返回值
若 *i
为左值引用则为 std::move(*i) ,否则为 *i 。
异常
noexcept 规定:
,其中 *i.parent_->fun_ 代表变换函数, i.current_ 代表底层迭代器。
noexcept(noexcept(std::invoke(*i.parent_->fun_, *i.current_)))