Sdílet prostřednictvím


function – třída

Obálka volatelná aplikacemi objektu.

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;
};

Parametry

  • Fty
    Typ funkce obtékání textu.

  • _Ax
    Funkce přidělování.

Poznámky

Třída šablony je volání obálka, jejíž signatura volání je Ret(T1, T2, ..., TN).Použít různé objekty callable uzavřete do jednotné obálky.

Některé členské funkce trvat operandem, který pojmenovává požadovaný cílový objekt.Takové operand můžete zadat několika způsoby:

fn--callable objekt fn; Po volání function objekt obsahuje kopiifn

fnref--callable objekt pojmenovaný fnref.get(); Po volání function objekt obsahuje odkaz nafnref.get()

right--callable objektu, případně drží function objektright

npc-ukazatel s hodnotou null; Po volání function objekt je prázdný

Ve všech případech INVOKE(f, t1, t2, ..., tN), kde f je možné volat objekt a t1, t2, ..., tN lvalues typy jsou T1, T2, ..., TN , musí být ve správném formátu a Ret není void, převést na Ret.

Prázdné function nevlastní objekt callable objekt nebo odkaz na objekt callable.

Konstruktory

function::function

Obálka je prázdný nebo ukládá callable objektu libovolného typu s podpisem pevné konstrukce.

Typedefs

function::result_type

Návratový typ uložených callable objektu.

Členské funkce

function::assign

Přiřadí objekt callable objekt této funkce.

function::swap

Zaměnit dva objekty volány.

function::target

Zkoušky, pokud je uložen callable objekt lze volat podle zadání.

function::target_type

Získá objekt callable zadejte informace.

Operátory

function::operator unspecified

Zkoušky, pokud je uložen callable objekt existuje.

function::operator()

Volá callable objektu.

function::operator=

Nahradí uložené callable objektu.

Požadavky

Záhlaví: <functional>

Obor názvů: std

Viz také

Referenční dokumentace

mem_fn – funkce

reference_wrapper – třída