Namespaces
Variants

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

From cppreference.net
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:
noexcept ( noexcept ( swap ( t_, pt. t_ ) ) )
Die Suche nach dem Bezeichner 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:
(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