Namespaces
Variants

iter_swap (ranges::adjacent_view:: iterator )

From cppreference.net
Ranges library
Range adaptors
friend constexpr void iter_swap ( const /*iterator*/ & x, const /*iterator*/ & y )

noexcept ( /*see below*/ )

requires std:: indirectly_swappable < ranges:: iterator_t < Base >> ;
(C++23以降)

2つの基盤となるイテレータ配列( current_ で示される)が指すオブジェクトを交換します。

同等の機能:

for (std::size_t i{}; i != N; ++i)
{
    std::ranges::iter_swap(x.current_[i], y.current_[i]);
}

この操作の前に、 x. current_ 内のいずれかのイテレータが y. current_ 内のイテレータと等しい場合、動作は未定義です。

この関数は通常の unqualified lookup または qualified lookup では可視化されず、 adjacent_view:: iterator <Const> が引数の関連クラスである場合にのみ argument-dependent lookup によって発見されます。

目次

パラメータ

x, y - イテレータ

戻り値

(なし)

例外

noexcept 仕様:
noexcept ( std :: ranges:: iter_swap ( declval < ranges:: iterator_t < Base >> ( ) ,
declval < ranges:: iterator_t < Base >> ( ) ) )

関連項目

(C++20)
二つの間接参照可能なオブジェクトが参照する値を交換する
(カスタマイゼーションポイントオブジェクト)
二つのイテレータが指す要素を交換する
(関数テンプレート)