std::experimental::propagate_const<T>:: swap
|
constexpr
void
swap
(
propagate_const
&
pt
)
noexcept
(
/* siehe unten */
)
;
|
(Library Fundamentals TS v2) | |
Tauscht den umschlossenen Zeiger mit dem von
pt
. Sei
t_
das private Datenelement, das das umschlossene zeigerähnliche Objekt bezeichnet, dann ist diese Funktion äquivalent zu
swap
(
t_, pt.
t_
)
, wobei die Überladungsauflösung für
swap
zwischen
std::swap
und allen Deklarationen durchgeführt wird, die durch die üblichen Lookup-Regeln gefunden werden, wie in
Swappable
beschrieben.
Das Verhalten ist undefiniert, wenn Lvalues von
T
die Anforderungen von
Swappable
nicht erfüllen.
Parameter
| pt | - |
ein weiteres
propagate_const
Objekt zum Austauschen
|
Ausnahmen
|
noexcept
Spezifikation:
Die Suche nach dem Bezeichner
noexcept
(
noexcept
(
swap
(
t_, pt.
t_
)
)
)
swap
in der Ausnahmespezifikation findet die oben beschriebenen Überladungen und findet nicht die Memberfunktion selbst, wodurch die Ausnahmespezifikation äquivalent zu C++17
std::is_nothrow_swappable
ist.
|
(Library Fundamentals TS v2) |
|
noexcept
Spezifikation:
noexcept
(
std::
is_nothrow_swappable_v
<
T
>
)
|
(Library Fundamentals TS v3) |
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 3413 | LFTSv2 | die Exception-Spezifikation war fehlerhaft | korrigiert |