iter_move(ranges::enumerate_view::iterator)
From cppreference.com
< cpp | ranges | enumerate view | iterator
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Ranges library
(C++23)(C++23)
(C++26)(C++26)
(C++23)(C++23)
(C++26)(C++26)
(C++26)(C++26)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
std::ranges::enumerate_view
(C++26)
iter_move(enumerate_view::iterator)
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>>