Namespaces
Variants

std::experimental::propagate_const<T>:: swap

From cppreference.net
constexpr void swap ( propagate_const & pt ) noexcept ( /* see below */ ) ;
(라이브러리 fundamentals TS v2)

래핑된 포인터를 pt 의 포인터와 교환합니다. t_ 를 래핑된 포인터와 유사한 객체인 private 데이터 멤버로 지정하면, 이 함수는 swap ( t_, pt. t_ ) 와 동등하며, 여기서 swap 에 대한 오버로드 해결은 std::swap 과 일반적인 조회 규칙에 따라 발견된 모든 선언들 사이에서 수행됩니다. 이는 Swappable 에 설명된 바와 같습니다.

T의 lvalue가 T Swappable 요구 사항을 만족하지 않을 경우 동작은 정의되지 않습니다.

매개변수

pt - 교환할 다른 propagate_const 객체

예외

noexcept 명세:
noexcept ( noexcept ( swap ( t_, pt. t_ ) ) )
예외 명세에서 식별자 swap 에 대한 탐색은 위에서 설명한 오버로드를 찾으며, 멤버 함수 자체는 찾지 않아 예외 명세를 C++17 std::is_nothrow_swappable 와 동등하게 만듭니다.
(라이브러리 펀더멘털 TS v2)
(라이브러리 펀더멘털 TS v3)

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 3413 LFTSv2 예외 명세가 잘못 구성됨 올바르게 구성됨