iter_swap(ranges::adjacent_view::iterator)
From cppreference.com
< cpp | ranges | adjacent view | iterator
| friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y ) noexcept( /*下記参照*/ ) |
(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>>()))
declval<ranges::iterator_t<Base>>()))
[編集] 関連項目
| (C++20) |
2つの間接参照可能なオブジェクトが参照する値を交換する (カスタマイゼーションポイントオブジェクト) |
| 2つのイテレータが指す要素をスワップする (関数テンプレート) |