名前空間
変種
操作

iter_swap(ranges::adjacent_view::iterator)

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

    noexcept( /*下記参照*/ )

        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_内のイテレータと等しくない場合、未定義の動作となります。

この関数は、通常の非修飾または修飾ルックアップからは見えず、adjacent_view::iterator<Const> が引数に関連付けられたクラスである場合にのみ、引数依存探索によって見つけることができます。

目次

[編集] パラメータ

x, y - イテレータ

[編集] 戻り値

(なし)

[編集] 例外

noexcept 指定:  
noexcept(std::ranges::iter_swap(declval<ranges::iterator_t<Base>>(),
                                declval<ranges::iterator_t<Base>>()))

[編集] 関連項目

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