iter_swap (ranges::concat_view:: iterator )
|
||||||||||||||||||||||
| Range primitives | |||||||
|
|||||||
| Range concepts | |||||||||||||||||||
|
|||||||||||||||||||
| Range factories | |||||||||
|
|||||||||
| Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||
| Helper items | |||||||||||||||||
|
|
||||||||||||||||
| Member functions | ||||
| Deduction guides | ||||
| Iterator | ||||
| Member functions | ||||
| Non-member functions | ||||
|
iter_swap
(concat_view::
iterator
)
|
|
friend
constexpr
void
iter_swap
(
const
/*iterator*/
&
x,
const
/*iterator*/
&
y
)
noexcept ( /* 설명 참조 */ ) requires ( /* 설명 참조 */ ) ; |
(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
인 경우, 동작은 정의되지 않습니다.
이 함수는 일반적인
unqualified
또는
qualified lookup
으로는 보이지 않으며,
argument-dependent lookup
에 의해서만 찾을 수 있습니다. 이는
concat_view
::
iterator
<
Const
>
가 인자들의 연관 클래스인 경우에만 가능합니다.
목차 |
매개변수
| x, y | - | iterators |
예외
its
를 lvalue들의 팩으로 설정하며, 각 값은
const
ranges::
iterator_t
<
maybe-const
<
Const, Views
>>
에서 해당하는 타입을 가집니다.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
(C++20)
|
역참조 가능한 두 객체가 참조하는 값을 교환
(customization point object) |
|
두 반복자가 가리키는 요소를 교환
(function template) |