Freigeben über


pointer_to_binary_function-Klasse

Konvertiert einen binären Funktionszeiger in eine anwendbare binäre Funktion. Veraltet in C++11, entfernt in C++17.

Syntax

template <class Arg1, class Arg2, class Result>
class pointer_to_binary_function
    : public binary_function <Arg1, Arg2, Result>
{
    explicit pointer_to_binary_function(
        Result(*pfunc)(Arg1, Arg2));
    Result operator()(Arg1 left, Arg2 right) const;
};

Parameter

pfunc
Die binäre Funktion, die konvertiert werden soll.

left
Das linke Objekt, für das das *pfunc aufgerufen wird.

right
Das rechte Objekt, für das das *pfunc aufgerufen wird.

Rückgabewert

Die Klassenvorlage speichert eine Kopie von pfunc. Sie definiert die Memberfunktion operator() als Rückgabe (* pfunc)(Left, right).

Hinweise

Ein binärer Funktionszeiger ist ein Funktionsobjekt und kann an alle C++-Standardbibliotheksalgorithmen übergeben werden, die eine binäre Funktion als Parameter erwarten, aber er kann nicht angepasst werden. Um ihn mit einem Adapter zu verwenden, z. B. einen Wert an ihn binden oder mit einem Negator verwenden zu können, muss er mit den geschachtelten Typen first_argument_typegeliefert second_argument_typewerden, und result_type die eine solche Anpassung ermöglichen. Die Konvertierung durch pointer_to_binary_function ermöglicht den Funktionsadaptern mit binären Funktionszeigern zusammenzuarbeiten.

Beispiel

Der Konstruktor von pointer_to_binary_function wird nur selten direkt verwendet. Suchen Sie unter der Hilfsfunktion ptr_fun nach einem Beispiel für das Deklarieren und Verwenden des pointer_to_binary_function-Adapterprädikats.