iter_move(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 规定:  
noexcept(noexcept(std::invoke(*i.parent_->fun_, *i.current_)))
,其中 *i.parent_->fun_ 代表变换函数, i.current_ 代表底层迭代器。