iter_move(ranges::transform_view::iterator)

From cppreference.com
< cpp‎ | ranges‎ | transform view‎ | iterator
Ranges library
Range adaptors
friend constexpr decltype( auto ) iter_move( const /*iterator*/ & i )
noexcept ( /* see below */ ) ;
(since C++20)

If *i is an lvalue reference, returns std::move (*i) ; otherwise returns *i

This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when transform_view::iterator<Const>

Parameters

i - iterator

Return value

std::move(*i) if *i is an lvalue reference, otherwise *i

Exceptions

noexcept specification:  
noexcept ( noexcept ( std::invoke ( *i.parent_ - >fun_, *i.current_ ) ) )
where *i.parent_->fun_ denotes the transformation function, i.current_