iter_swap(ranges::adjacent_view::iterator)
С ru.cppreference.net
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 >> ( ) ) )
declval < ranges:: iterator_t < Base >> ( ) ) )
Смотрите также
|
(C++20)
|
обменивает значения, на которые ссылаются два разыменовываемых объекта
(объект точки настройки) |
|
обменивает элементы, на которые указывают два итератора
(шаблон функции) |