iter_move(ranges::transform_view::iterator)

来自cppreference.com
 
 
范围库
范围访问
范围转换器
(C++23)
范围原语



悬垂迭代器处理
范围概念
视图

范围工厂
适配器
范围生成器
范围适配器对象
范围适配器闭包对象
辅助项
 
 
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_ 代表底层迭代器。