Namespaces
Variants
Actions

iter_move(ranges::enumerate_view::iterator)

From cppreference.com
 
C++
 
Ranges library
Range adaptors
 
std::ranges::enumerate_view
friend constexpr auto iter_move( const /*iterator*/& i ) noexcept(/* see below */)
(since C++23)

Let current_ be the underlying iterator, pos_ be the underlying index, and Base be the (possibly cv-qualified) type of the underlying sequence.

Equivalent to:

template<class D, class B>
using tuple = std::tuple<D, ranges::range_rvalue_reference_t<B>>;
 
return tuple<difference_type, Base>(i.pos_, ranges::iter_move(i.current_);

This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when enumerate_view::iterator<Const> is an associated class of the arguments.

Contents

[edit] Parameters

i - iterator

[edit] Return value

A tuple that contains an index and the result of applying ranges::iter_move to the stored iterator.

[edit] Exceptions

noexcept specification:  
noexcept(

    noexcept(ranges::iter_move(i.current_) and
        std::is_nothrow_move_constructible_v<
            ranges::range_rvalue_reference_t<Base>>

)

[edit] See also

(C++20)
casts the result of dereferencing an object to its associated rvalue reference type
(customization point object)[edit]

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