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) тип базовой последовательности.

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

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>>

)

См. также

iter_move
(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

Spec-Zone.ru

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