function Class
aufrufbare Wrapper für ein Objekt.
template<class Fty>
class function // Fty of type Ret(T1, T2, ..., TN)
: public unary_function<T1, Ret> // when Fty is Ret(T1)
: public binary_function<T1, T2, Ret> // when Fty is Ret(T1, T2)
{
public:
typedef Ret result_type;
function();
function(nullptr_t);
function(const function& _Right);
template<class Fty2>
function(Fty2 fn);
template<class Fty2, class Alloc>
function (reference_wrapper<Fty2>, const Alloc& _Ax);
template<class Fty2, class Alloc>
void assign (Fty2, const Alloc& _Ax);
template<class Fty2, class Alloc>
assign (reference_wrapper<Fty2>, const Alloc& _Ax);
function& operator=(nullptr_t);
function& operator=(const function&);
template<class Fty2>
function& operator=(Fty2);
template<class Fty2>
function& operator=(reference_wrapper<Fty2>);
void swap(function&);
explicit operator bool() const;
result_type operator()(T1, T2, ....., TN) const;
const std::type_info& target_type() const;
template<class Fty2>
Fty2 *target();
template<class Fty2>
const Fty2 *target() const;
template<class Fty2>
void operator==(const Fty2&) const = delete;
template<class Fty2>
void operator!=(const Fty2&) const = delete;
};
Parameter
Fty
Der Funktionstyp einzubindende._Ax
Die Belegungsfunktionsfunktion.
Hinweise
Die Vorlagenklasse ist ein Aufrufswrapper, dessen Aufrufsunterzeichnung Ret(T1, T2, ..., TN) ist.Sie verwenden sie, um eine Vielzahl von Objekten in einem einheitlichen aufrufbaren Wrapper einzuschließen.
Einige Memberfunktionen akzeptieren einen Operanden, der das gewünschte Zielobjekt benennt.Sie können einen solchen Operanden auf verschiedene Arten angeben:
fn -- das aufrufbare Objekt fn; nach dem Aufruf function das Objekt eine Kopie von fn enthält
fnref -- aufrufbare durch das Objekt mit fnref.get(); nach dem Aufruf function das Objekt einen Verweis auf fnref.get() enthält
right -- das aufrufbare Objekt ggf. angehalten durch das function-Objekt right
npc -- ein NULL-Zeiger; nach dem Aufruf ist das Objekt leer function
In allen Fällen muss INVOKE(f, t1, t2, ..., tN), in dem das f aufrufbare Objekt ist und t1, t2, ..., tN lvalues von Typen T1, T2, ..., TN bzw. sind, wohl geformt und, wenn Ret nicht ungültig ist, zu Ret konvertierbar sein.
Ein leeres Objekt enthält function kein aufrufbares Objekt oder einen Verweis auf ein Objekt aufrufbaren an.
Konstruktoren
Erstellt einen Wrapper, dass entweder leer ist oder speichert ein aufrufbares Objekt eines beliebigen Typs mit einer festen Signatur. |
Typedefs
Der Rückgabetyp des gespeicherten Objekts aufrufbaren. |
Memberfunktionen
Weist ein aufrufbares Objekt zu diesem Funktionsobjekt an. |
|
Austausch zwei aufrufbare Objekte. |
|
Prüft, ob aufrufbares gespeichertes Objekt aufgerufen werden kann, wie angegeben. |
|
Ruft Typinformationen zum aufrufbare Objekt ab. |
Operatoren
Prüft, ob aufrufbares gespeichertes Objekt vorhanden ist. |
|
Ruft ein aufrufbares Objekt. |
|
Ersetzt das gespeicherte aufrufbare Objekt. |
Anforderungen
Header: <functional>
Namespace: std