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>>>);
|
(начиная с 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 ) .
Смотрите также
|
(C++20)
|
обменивает значения, на которые ссылаются два разыменовываемых объекта
(объект точки кастомизации) |
|
обменивает элементы, на которые указывают два итератора
(шаблон функции) |