iter_move(ranges::enumerate_view::iterator)
From cppreference.com
< cpp | ranges | enumerate view | iterator
C++
Ranges library
| ||||||||||||||||||||||
| Range primitives | |||||||
| |||||||
| Range concepts | |||||||||||||||||||
| |||||||||||||||||||
| Range factories | |||||||||
| |||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||
| Helper items | |||||||||||||||||
| |||||||||||||||||
std::ranges::enumerate_view
| Member functions | ||||
(C++26) | ||||
| 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.
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] |