Namespaces
Variants

iter_move (ranges::enumerate_view:: iterator )

From cppreference.net
Ranges library
Range adaptors
friend constexpr auto iter_move ( const /*iterator*/ & i ) noexcept ( /* см. ниже */ )
(начиная с C++23)

Пусть current_ будет базовым итератором, pos_ будет базовым индексом, и Base будет (возможно, cv-квалифицированным) типом базовой последовательности.

Эквивалентно:

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_));
**Примечание:** Весь код C++ внутри тегов `
` и `` оставлен без изменений, как и требовалось. HTML-теги и атрибуты также сохранены в оригинальном виде.

Эта функция не видна при обычном unqualified или qualified lookup , и может быть найдена только с помощью argument-dependent lookup , когда enumerate_view:: iterator <Const> является ассоциированным классом аргументов.

Содержание

Параметры

i - итератор

Возвращаемое значение

Кортеж, содержащий индекс и результат применения ranges:: iter_move к сохраненному итератору.

Исключения

noexcept спецификация:

Смотрите также

(C++20)
преобразует результат разыменования объекта в связанный тип rvalue-ссылки
(объект точки кастомизации)