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
(
ranges::
iter_move
(
i.
current_
)
)
и
std::
is_nothrow_move_constructible_v
<
ranges::
range_rvalue_reference_t
<
Base
>>
Смотрите также
|
(C++20)
|
преобразует результат разыменования объекта в связанный тип rvalue-ссылки
(объект точки кастомизации) |