std::copyable_function::operator=
Von cppreference.com
< cpp | utility | functional | copyable function
| copyable_function& operator=( const copyable_function& other ); |
(1) | (seit C++26) |
| copyable_function& operator=( copyable_function&& other ); |
(2) | (seit C++26) |
| copyable_function& operator=( std::nullptr_t ) noexcept; |
(3) | (seit C++26) |
| template< class F > copyable_function& operator=( F&& f ); |
(4) | (seit C++26) |
Weist `std::copyable_function` ein neues Ziel zu oder zerstört dessen Ziel.
1) Weist eine Kopie des Ziels von other *this zu, als ob auto(other).swap(*this) ausgeführt würde.
2) Verschiebt das Ziel von other nach *this oder zerstört das Ziel von *this (falls vorhanden), wenn other leer ist, indem auto(std::move(other)).swap(*this) ausgeführt wird. other befindet sich nach der Zuweisung per Verschieben in einem gültigen Zustand mit einem nicht spezifizierten Wert.
3) Zerstört das aktuelle Ziel, falls es existiert. *this ist nach dem Aufruf leer.
4) Setzt das Ziel von *this auf das aufrufbare Objekt f oder zerstört das aktuelle Ziel, wenn f ein Nullfunktionszeiger, ein Nullzeiger auf eine Memberfunktion oder eine leere
std::copyable_function ist, als ob copyable_function(std::forward<F>(f)).swap(*this) ausgeführt würde. Diese Überladung nimmt nur an der Auflösung von Überladungen teil, wenn der Konstruktor von copyable_function aus F an der Auflösung von Überladungen teilnimmt. Das Programm ist fehlerhaft oder hat undefiniertes Verhalten, wenn der ausgewählte Konstruktoraufruf fehlerhaft ist oder undefiniertes Verhalten hat.Inhalt |
[bearbeiten] Parameter
| Sonstiges | - | ein weiteres std::copyable_function Objekt, dessen Ziel kopiert oder verschoben werden soll |
| f | - | ein aufrufbares Objekt, mit dem das neue Ziel initialisiert werden soll |
[bearbeiten] Rückgabewert
*this
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Siehe auch
| weist ein neues Ziel zu (public member function of std::function<R(Args...)>) | |
| ersetzt oder zerstört das Ziel (public member function of std::move_only_function) |