iter_move(ranges::enumerate_view::iterator)
friend constexpr auto iter_move( const /*iterator*/& i ) noexcept(/* see below */) | (с 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_));
Эта функция не видна для обычного неквалифицированного или квалифицированного поиска и может быть найдена только с помощью поиска, зависящего от аргументов, когда enumerate_view::iterator<Const> является связанным классом аргументов.
Параметры
| i | - | итератор |
Возвращаемое значение
Кортеж, содержащий индекс и результат применения ranges::iter_move к сохранённому итератору.
Исключение
noexcept спецификация: noexcept(
noexcept(ranges::iter_move(i.current_)) and
std::is_nothrow_move_constructible_v<
ranges::range_rvalue_reference_t<Base>>
)См. также
|
(C++20) | преобразует результат обращении к объекту в его соответствующий тип с rvalue ссылкой (объект точечной кастомизации) |
© 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