Namespaces
Variants
Actions

iter_move(ranges::transform_view::iterator)

From cppreference.com
 
C++
 
Ranges library
Range adaptors
 
std::ranges::transform_view
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:  
noexcept(noexcept(std::invoke(*i.parent_->fun_, *i.current_)
where *i.parent_->fun_ denotes the transformation function, i.current_ denotes the underlying iterator.

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant