std::experimental::propagate_const<T>:: swap
|
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:
La búsqueda del identificador
noexcept
(
noexcept
(
swap
(
t_, pt.
t_
)
)
)
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:
noexcept
(
std::
is_nothrow_swappable_v
<
T
>
)
|
(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 |