iter_swap(ranges::adjacent_view::iterator)
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )
noexcept( /*see below*/ )
requires std::indirectly_swappable<ranges::iterator_t<Base>>;
| (с C++23) |
Меняет местами объекты, на которые указывают два базовых массива итераторов (обозначены как current_).
Эквивалентно:
for (std::size_t i{}; i != N; ++i)
{
std::ranges::iter_swap(x.current_[i], y.current_[i]);
}Поведение не определено, если до операции ни один из итераторов в x.current_ не равен итератору в y.current_.
Эта функция не видна для обычного неквалифицированного или квалифицированного поиска и может быть найдена только с помощью поиска, зависящего от аргументов, когда adjacent_view::iterator<Const> является ассоциированным классом аргументов.
Параметры
| x, y | - | итераторы |
Возвращаемое значение
(ничего)
Исключение
noexcept спецификация: noexcept(std::ranges::iter_swap(declval<ranges::iterator_t<Base>>(),
declval<ranges::iterator_t<Base>>()))См. также
|
(C++20) | меняет значения, на которые ссылаются два объекты, на которые можно ссылаться (объект точки настройки) |
| меняет местами элементы, на которые указывают два итератора (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/ranges/adjacent_view/iterator/iter_swap