C++ named requirements: Callable
Ein Callable -Typ ist ein Typ, für den die INVOKE - und INVOKE<R> -Operationen (verwendet z.B. von std::function , std::bind und std::thread::thread ) anwendbar sind.
|
|
(seit C++17) |
|
|
(seit C++23) |
Inhaltsverzeichnis |
Anforderungen
Der Typ
T
erfüllt
Callable
wenn
Gegeben
-
f, ein Objekt vom TypT, -
ArgTypes, geeignete Liste von Argumenttypen, -
R, geeigneter Rückgabetyp.
Die folgenden Ausdrücke müssen gültig sein:
| Ausdruck | Anforderungen |
|---|---|
| INVOKE<R> ( f, std:: declval < ArgTypes > ( ) ... ) | Der Ausdruck ist wohlgeformt in einem nicht-ausgewerteten Kontext. |
Hinweise
Zeiger auf Datenelemente sind Aufrufbar , obwohl keine Funktionsaufrufe stattfinden.
Standardbibliothek
Zusätzlich akzeptieren die folgenden Standardbibliothekseinrichtungen jeden Callable -Typ (nicht nur FunctionObject ):
|
(C++11)
|
kopierbarer Wrapper für jedes kopierkonstruierbare aufrufbare Objekt
(Klassentemplate) |
|
(C++23)
|
nur-verschiebbarer Wrapper für jedes aufrufbare Objekt, das Qualifier in einer gegebenen Aufrufsignatur unterstützt
(Klassentemplate) |
|
(C++26)
|
kopierbarer Wrapper für jedes kopierkonstruierbare aufrufbare Objekt, das Qualifier in einer gegebenen Aufrufsignatur unterstützt
(Klassentemplate) |
|
(C++26)
|
nicht-besitzender Wrapper für jedes aufrufbare Objekt
(Klassentemplate) |
|
(C++11)
|
bindet ein oder mehrere Argumente an ein Funktionsobjekt
(Funktionstemplate) |
|
(C++20)
(C++23)
|
bindet eine variable Anzahl von Argumenten in Reihenfolge an ein Funktionsobjekt
(Funktionstemplate) |
|
(C++11)
|
CopyConstructible
und
CopyAssignable
Referenz-Wrapper
(Klassentemplate) |
|
(C++11)
(removed in C++20)
(C++17)
|
leitet den Ergebnistyp des Aufrufs eines aufrufbaren Objekts mit einer Menge von Argumenten ab
(Klassentemplate) |
|
(C++11)
|
verwaltet einen separaten Thread
(Klasse) |
|
(C++20)
|
std::thread
mit Unterstützung für automatisches Join und Abbruch
(Klasse) |
|
(C++11)
|
ruft eine Funktion nur einmal auf, selbst wenn sie von mehreren Threads aufgerufen wird
(Funktionstemplate) |
|
(C++11)
|
führt eine Funktion asynchron aus (möglicherweise in einem neuen Thread) und gibt eine
std::future
zurück, die das Ergebnis halten wird
(Funktionstemplate) |
|
(C++11)
|
verpackt eine Funktion, um ihren Rückgabewert für asynchronen Abruf zu speichern
(Klassentemplate) |
Siehe auch
|
prüft, ob ein Typ mit den gegebenen Argumenttypen aufgerufen werden kann (als ob durch
std::invoke
)
(Klassentemplate) |
|
|
(C++20)
|
spezifiziert, dass ein aufrufbarer Typ mit einem gegebenen Satz von Argumenttypen aufgerufen werden kann
(Konzept) |
|
(C++17)
(C++23)
|
ruft jedes
Callable
-Objekt mit gegebenen Argumenten auf
mit der Möglichkeit, den Rückgabetyp zu spezifizieren
(seit C++23)
(Funktionstemplate) |