iter_move (ranges::enumerate_view:: iterator )

From cppreference.com
Ranges library
Range adaptors
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.

Parameters

i - iterator

Return value

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

Exceptions

noexcept specification:

See also

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