Compartilhar via


function Class

Wrapper para um objeto acessível.

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

Parâmetros

  • Fty
    O tipo de função para envolver.

  • _Ax
    A função do distribuidor.

Comentários

A classe de modelo é um wrapper de chamada cuja assinatura de chamada é Ret(T1, T2, ..., TN).Você usá-la para incluir uma variedade de objetos acessíveis em um wrapper uniforme.

Algumas funções de membro leva um operando que nomeie o objeto desejado de destino.Você pode especificar um operando em várias maneiras:

fn -- o objeto acessível fn; após a chamada ao objeto de function contém uma cópia de fn

fnref -- o objeto acessível chamado por fnref.get(); após a chamada ao objeto de function contém uma referência a fnref.get()

right -- o objeto acessível, se houver, mantido pelo objeto rightde function

npc -- um ponteiro nulo; após a chamada ao objeto de function está vazio

Em todos os casos, INVOKE(f, t1, t2, ..., tN), onde f é o objeto acessível e t1, t2, ..., tN é lvalues de tipos T1, T2, ..., TN respectivamente, deve ser bem formado e, se Ret não é vago, conversível a Ret.

Um objeto vazio de function não contém um objeto acessível ou uma referência a um objeto acessível.

Bb982519.collapse_all(pt-br,VS.110).gifConstrutores

function::function

Constrói um wrapper que está vazia ou armazena um objeto acessível do tipo arbitrário com uma assinatura fixa.

Bb982519.collapse_all(pt-br,VS.110).gifTypedefs

function::result_type

O tipo de retorno do objeto acessível armazenado.

Bb982519.collapse_all(pt-br,VS.110).gifFunções de membro

function::assign

Atribui um objeto acessível a esse objeto de função.

function::swap

Troca dois objetos acessíveis.

function::target

Teste se o objeto acessível armazenado é acessível como especificado.

function::target_type

Obtém informações tipo no objeto acessível.

Bb982519.collapse_all(pt-br,VS.110).gifOperadores

function::operator unspecified

Teste se o objeto acessível armazenado existe.

function::operator()

Chama um objeto acessível.

function::operator=

Substitui o objeto acessível armazenado.

Requisitos

Cabeçalho: <functional>

namespace: STD

Consulte também

Referência

mem_fn Function

reference_wrapper Class