Spec-Zone.ru › C++

iter_move(ranges::enumerate_view::iterator)

friend constexpr auto iter_move( const /*iterator*/& i ) noexcept(/* see below */)
(начиная с C++23)

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

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

using result_type =
    std::tuple<difference_type, ranges::range_rvalue_reference_t<Base>>;

return result_type(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>>
)

См. также

ranges::iter_move
(C++20)
приводит результат разыменования объекта к соответствующему типу ссылки на rvalue
(объект точки настройки)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/ranges/enumerate_view/iterator/iter_move

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API