Namespaces
Variants

iter_swap (ranges::cartesian_product_view:: iterator )

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

noexcept ( /* 説明を参照 */ )
要件 ( std:: indirectly_swappable <
ranges:: iterator_t < /*maybe-const*/ < Const, First >>> かつ ... 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_ は基盤となるイテレータのタプルです。

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

目次

パラメータ

x, y - 交換する要素へのイテレータ

戻り値

(なし)

例外

例外仕様は、すべての整数 0 ≤ i ≤ sizeof... ( Vs ) に対して、式 noexcept ( ranges:: iter_swap ( std :: get < i > ( x. current_ ) , std :: get < i > ( y. current_ ) ) ) の論理積と等価です。

関連項目

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