Spec-Zone.ru › C++

iter_swap(ranges::cartesian_product_view::iterator)

friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )
    noexcept (/* see description */)
    requires (std::indirectly_swappable<
        ranges::iterator_t</*maybe-const*/<Const, First>>> and ... and
            std::indirectly_swappable<ranges::iterator_t</*maybe-const*/<Const, Vs>>>);
(since C++23)

Применяет ranges::iter_swap к сохранённым базовым итераторам. Формально, для каждого целого числа 0 ≤ i ≤ sizeof...(Vs), выполняет ranges::iter_swap(std::get<i>(x.current_), std::get<i>(y.current_)), где current_ является базовой кортежем итераторов.

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

Параметры

x, y - итераторы на элементы, которые нужно поменять местами

Значение результата

(нет)

Исключения

Спецификация исключений эквивалентна логическому И выражения noexcept(ranges::iter_swap(std::get<i>(x.current_), std::get<i>(y.current_))) для каждого целого числа 0 ≤ i ≤ sizeof...(Vs).

См. также

iter_swap
(C++20)
меняет значения, на которые ссылаются два объекты, к которым можно обратиться с помощью dereference
(объект точечной настраиваемости)
iter_swap
меняет местами элементы, на которые указывают два итератора
(шаблон функции)

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

Spec-Zone.ru

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