iter_move(ranges::transform_view::iterator)
From cppreference.com
< cpp | ranges | transform view | iterator
C++
Ranges library
| ||||||||||||||||||||||
| Range primitives | |||||||
| |||||||
| Range concepts | |||||||||||||||||||
| |||||||||||||||||||
| Range factories | |||||||||
| |||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||
| Helper items | |||||||||||||||||
| |||||||||||||||||
std::ranges::transform_view
| Member functions | ||||
(C++26) | ||||
| Deduction guides | ||||
| Iterator | ||||
iter_move(transform_view::iterator) | ||||
| Sentinel | ||||
| 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> is an associated class of the arguments.
[edit] Parameters
| i | - | iterator |
[edit] Return value
std::move(*i) if *i is an lvalue reference, otherwise *i
[edit] Exceptions
noexcept specification:
where *i.parent_->fun_ denotes the transformation function, i.current_ denotes the underlying iterator.
noexcept(noexcept(std::invoke(*i.parent_->fun_, *i.current_)