Namespaces
Variants

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

From cppreference.net
constexpr void swap ( propagate_const & pt ) noexcept ( /* see below */ ) ;
(biblioteca fundamentals TS v2)

Intercambia el puntero encapsulado con el de pt . Sea t_ el miembro de datos privado que es el objeto tipo puntero encapsulado, entonces esta función es equivalente a swap ( t_, pt. t_ ) , donde la resolución de sobrecarga para swap se realiza entre std::swap y cualquier declaración encontrada mediante las reglas de búsqueda habituales, como se describe en Swappable .

El comportamiento es indefinido si los lvalues de T no satisfacen Swappable .

Parámetros

pt - otro objeto propagate_const para intercambiar

Excepciones

noexcept especificación:
noexcept ( noexcept ( swap ( t_, pt. t_ ) ) )
La búsqueda del identificador swap en la especificación de excepciones encuentra las sobrecargas descritas anteriormente, y no encuentra la función miembro en sí, haciendo que la especificación de excepciones sea equivalente a C++17 std::is_nothrow_swappable .
(library fundamentals TS v2)
noexcept especificación:
(library fundamentals TS v3)

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3413 LFTSv2 la especificación de excepción estaba mal formada se corrigió para que esté bien formada