Freigeben über


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.

Bb982519.collapse_all(de-de,VS.110).gifKonstruktoren

function::function

Erstellt einen Wrapper, dass entweder leer ist oder speichert ein aufrufbares Objekt eines beliebigen Typs mit einer festen Signatur.

Bb982519.collapse_all(de-de,VS.110).gifTypedefs

function::result_type

Der Rückgabetyp des gespeicherten Objekts aufrufbaren.

Bb982519.collapse_all(de-de,VS.110).gifMemberfunktionen

function::assign

Weist ein aufrufbares Objekt zu diesem Funktionsobjekt an.

function::swap

Austausch zwei aufrufbare Objekte.

function::target

Prüft, ob aufrufbares gespeichertes Objekt aufgerufen werden kann, wie angegeben.

function::target_type

Ruft Typinformationen zum aufrufbare Objekt ab.

Bb982519.collapse_all(de-de,VS.110).gifOperatoren

function::operator unspecified

Prüft, ob aufrufbares gespeichertes Objekt vorhanden ist.

function::operator()

Ruft ein aufrufbares Objekt.

function::operator=

Ersetzt das gespeicherte aufrufbare Objekt.

Anforderungen

Header: <functional>

Namespace: std

Siehe auch

Referenz

mem_fn Function

reference_wrapper Class