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.
i | - | iterator |
A tuple that contains an index and the result of applying ranges::iter_move
to the stored iterator.
noexcept
specification: noexcept(
noexcept(ranges::iter_move(i.current_)) and
std::is_nothrow_move_constructible_v<
ranges::range_rvalue_reference_t<Base>>
)
(C++20) | casts the result of dereferencing an object to its associated rvalue reference type (customization point object) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/enumerate_view/iterator/iter_move