iter_swap(ranges::concat_view::iterator)
friend constexpr void iter_swap( const /*iterator*/& x, const /*iterator*/& y )
noexcept( /* see description */ ) requires ( /* see description */ );
|
(C++26부터) | |
x와 y의 기본 반복자가 가리키는 객체를 교체합니다.
std::visit
(
[&](const auto& it1, const auto& it2)
{
if constexpr (std::is_same_v<decltype(it1), decltype(it2)>)
ranges::iter_swap(it1, it2);
else
ranges::swap(*x, *y);
},
x.it_ ,
y.it_
);
와 동등합니다. requires 절의 표현식은
std::swappable_with<std::iter_reference_t</*iterator*/>,
std::iter_reference_t</*iterator*/>> &&
(... && std::indirectly_swappable<ranges::iterator_t<maybe-const <Const, Views>>>)
와 동등합니다.
x.it_ .valueless_by_exception() || y.it_ .valueless_by_exception()이 true인 경우 동작은 정의되지 않습니다.
이 함수는 일반적인 비한정 또는 한정 조회로는 볼 수 없으며, 인자 종속 조회를 통해서만 찾을 수 있습니다. 단, concat_view::iterator <Const>가 인자의 연관 클래스인 경우에만 가능합니다.
매개변수
| x, y | - | iterators |
예외
its
를 lvalue들의 팩으로 설정하며, 각 값은
const
ranges::
iterator_t
<
maybe-const
<
Const, Views
>>
에서 해당하는 타입을 가집니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
(C++20)
|
역참조 가능한 두 객체가 참조하는 값을 교환
(customization point object) |
|
두 반복자가 가리키는 요소를 교환
(function template) |