iter_swap(ranges::adjacent_view::iterator)
ja.cppreference.net より
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )
noexcept( /*see below*/ )
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 >> ( ) ) )
declval < ranges:: iterator_t < Base >> ( ) ) )
関連項目
|
(C++20)
|
二つの間接参照可能なオブジェクトが参照する値を交換する
(カスタマイゼーションポイントオブジェクト) |
|
二つのイテレータが指す要素を交換する
(関数テンプレート) |