Spec-Zone.ru › C++

iter_move(ranges::cartesian_product_view::iterator)

friend constexpr auto iter_move( const /*iterator*/& i ) noexcept(/* see below */)
(с C++23)

Пусть current_ является базовой кортежем итераторов.

Эквивалентно: return /*tuple-transform*/(ranges::iter_move, i.current_);

Эта функция не видна для обычного неквалифицированного или квалифицированного поиска и может быть найдена только с помощью поиска, зависящего от аргументов, когда cartesian_product_view::iterator<Const> является связанным классом аргументов.

Параметры

i - итератор

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

Кортеж, содержащий результат применения ranges::iter_move к сохранённым базовым итераторам, преобразованным к типу возвращаемого значения, как описано выше.

Исключение

Спецификация исключений эквивалентна логическому И следующих выражений:

  • noexcept(ranges::iter_move(std::get<N>(i.current_))) для каждого целого числа 0 ≤ N ≤ sizeof...(Vs),
  • std::is_nothrow_move_constructible_v<ranges::range_rvalue_reference_t</*maybe-const*/<Const, T>>> для каждого типа T в First, Vs....

См. также

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/cartesian_product_view/iterator/iter_move

Spec-Zone.ru

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