std::experimental::propagate_const<T>:: swap
|
constexpr
void
swap
(
propagate_const
&
pt
)
noexcept
(
/* voir ci-dessous */
)
;
|
(bibliothèque fundamentals TS v2) | |
Échange le pointeur encapsulé avec celui de
pt
. Soit
t_
le membre de données privé qui est l'objet de type pointeur encapsulé, alors cette fonction est équivalente à
swap
(
t_, pt.
t_
)
, où la résolution de surcharge pour
swap
est effectuée parmi
std::swap
et toute déclaration trouvée par les règles de recherche habituelles, comme décrit dans
Swappable
.
Le comportement n'est pas défini si les lvalues de
T
ne satisfont pas
Swappable
.
Paramètres
| pt | - |
un autre objet
propagate_const
à échanger
|
Exceptions
|
noexcept
spécification :
La recherche de l'identifiant
noexcept
(
noexcept
(
swap
(
t_, pt.
t_
)
)
)
swap
dans la spécification d'exception trouve les surcharges décrites ci-dessus, et ne trouve pas la fonction membre elle-même, rendant la spécification d'exception équivalente à C++17
std::is_nothrow_swappable
.
|
(library fundamentals TS v2) |
|
noexcept
spécification :
noexcept
(
std::
is_nothrow_swappable_v
<
T
>
)
|
(library fundamentals TS v3) |
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 3413 | LFTSv2 | la spécification d'exception était mal formée | rendue bien formée |