名前空間
変種
操作

iter_swap(ranges::cartesian_product_view::iterator)

From cppreference.com
 
 
Rangesライブラリ
Rangeアダプタ
 
 
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )

    noexcept (/* 説明を参照 */)
    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_))) の論理 AND と同等です。

[編集] 関連項目

(C++20)
2つの間接参照可能なオブジェクトが参照する値を交換する
(カスタマイゼーションポイントオブジェクト)[編集]
2つのイテレータが指す要素をスワップする
(関数テンプレート) [編集]
English 日本語 中文(简体) 中文(繁體)