Namespaces
Variants

iter_swap(ranges::cartesian_product_view::iterator)

ja.cppreference.net より
 
 
範囲ライブラリ
範囲アダプタ
 
 
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 - 交換する要素へのイテレータ

戻り値

(なし)

例外

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

関連項目

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