iter_move (ranges::enumerate_view:: iterator )
|
Range primitives | |||||||
|
Range concepts | |||||||||||||||||||
|
Range factories | |||||||||
|
Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Helper items | |||||||||||||||||
|
|
Member functions | ||||
Deduction guides | ||||
Nested classes | ||||
Iterator | ||||
iter_move
(enumerate_view::
iterator
)
|
||||
Sentinel | ||||
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
(
ranges::
iter_move
(
i.
current_
)
)
and
std::
is_nothrow_move_constructible_v
<
ranges::
range_rvalue_reference_t
<
Base
>>
See also
(C++20)
|
casts the result of dereferencing an object to its associated rvalue reference type
(customization point object) |