iter_move(ranges::concat_view::iterator)

来自cppreference.com
< cpp‎ | ranges‎ | concat view‎ | iterator


 
 
范围库
范围适配器
 
 
friend constexpr decltype(auto)
    iter_move( const /*iterator*/& it ) noexcept(/* 见描述 */);
(C++26 起)

返回对存储于 it_ 的底层迭代器实施 ranges::iter_move 的结果。

MCVstd::conditional_t<Const, const Views, Views>。等价于:

return std::visit(
           [](const auto& i) -> /*concat-rvalue-reference-t*/<MCV...>
           {
               return ranges::iter_move(i);
           },
           it.it_
       );

调用这个函数前,it.it_.valueless_by_exception() 必须为 false。否则,其行为未定义。

此函数对常规的无限定有限定查找不可见,而只能在 concat_view::iterator<Const> 为实参的关联类时由实参依赖查找找到。

参数

it - iterator

返回值

对底层迭代器实施 ranges::iter_move 的结果。

异常

noexcept 说明:  
noexcept(

    (std::is_nothrow_invocable_v<decltype(ranges::iter_move),
                                 const ranges::iterator_t<MCV>&> &&
     std::is_nothrow_convertible_v<ranges::range_rvalue_reference_t<MCV>,
                                   /*concat-rvalue-reference-t*/<MCV...>>) && ...

)