std::polymorphic<T, Allocator>:: swap
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
constexpr
void
swap
(
polymorphic
&
other
)
noexcept
(
/* see below */
)
;
|
(C++26부터) | |
내용을 other 와 교환합니다.
아래 설명에서, swap_allocators 는 std:: allocator_traits < Allocator > :: propagate_on_container_swap :: value 를 의미합니다.
* this 와 other 의 상태를 교환하며, 소유한 객체 또는 무값 상태를 서로 바꿉니다.
-
만약
swap_allocators
가
true
이면,
using
std::
swap
;
swap (alloc , other.alloc ) ; 을 실행합니다. - 그렇지 않으면, 할당자(allocators)는 교환되지 않습니다.
다음 조건 중 하나라도 충족되면, 동작은 정의되지 않습니다:
-
swap_allocators
가
true
이고,
Allocator가 Swappable 요구 사항을 충족하지 않는 경우. - swap_allocators 가 false 이고, get_allocator ( ) == other. get_allocator ( ) 가 false 인 경우.
목차 |
매개변수
| other | - |
내용을 교환할
polymorphic
객체
|
예외
|| std:: allocator_traits < Allocator > :: is_always_equal :: value )
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
(C++26)
|
std::swap
알고리즘을 특수화함
(함수 템플릿) |