function-Klasse
Wrapper für ein aufrufbares 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 Zuweisungsfunktion.
Hinweise
Die Vorlagenklasse ist ein Aufrufswrapper, dessen Aufrufsunterzeichnung Ret(T1, T2, ..., TN) ist. Sie verwenden sie, um verschiedenste aufrufbaren Objekten in einem einheitlichen Wrapper einzuschließen.
Einige Memberfunktionen akzeptieren einen Operanden, der das gewünschte Zielobjekt benennt. Sie können ein solches Operanden auf mehrere Arten angegeben werden:
fn - das aufrufbare Objekt fn; nachdem der Aufruf das function-Objekt eine Kopie von fn enthält
fnref - das aufrufbare Objekt mit dem Namen von fnref.get(); nachdem der Aufruf das function-Objekt einen Verweis auf fnref.get() enthält
right - das aufrufbare Objekt ggf. angehalten vom function-Objekt right
npc - ein NULL-Zeiger; nach dem Aufruf ist das function-Objekt leer
In allen Fällen muss INVOKE(f, t1, t2, ..., tN), wobei f das aufrufbare Objekt ist und t1, t2, ..., tN lvalues der Typen T1, T2, ..., TN bzw. sind, wohl geformt und, wenn Ret nicht NULL ist, zu Ret konvertierbar sein.
Ein leeres function-Objekt behält kein aufrufbares Objekt oder einen Verweis auf ein aufrufbaren Objekt.
Konstruktoren
Erstellt einen Wrapper, dass entweder leer ist oder speichert ein aufrufbares Objekt eines beliebigen Typs mit einer festen Signatur. |
Typedefs
Der Rückgabetyp aufrufbaren des gespeicherten Objekts. |
Memberfunktionen
Weist ein aufrufbares Objekt zu diesem Funktionsobjekt an. |
|
Aufrufbare Objekte des Austauschs zwei. |
|
Testet, ob aufrufbares gespeichertes Objekt aufgerufen werden kann, wie angegeben. |
|
Ruft Typinformationen zum aufrufbare Objekt ab. |
Operatoren
Testet, ob aufrufbares gespeichertes Objekt vorhanden ist. |
|
Ruft ein aufrufbares Objekt auf. |
|
Ersetzt das gespeicherte aufrufbare Objekt. |
Anforderungen
Header: <functional>
Namespace: std