Compartilhar via


Classe function

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 a quebra de texto.

  • _Ax
    A função do alocador.

Comentários

A classe do modelo é um wrapper de chamada cuja assinatura de chamada seja Ret(T1, T2, ..., TN). Use-a para incluir uma variedade de objetos acessíveis em um wrapper uniforme.

Algumas funções de membro aceitam um operando que o nome do objeto de destino desejado. Você pode especificar tal operando em várias formas:

fn -- o objeto acessível fn; depois da chamada do objeto function mantém uma cópia de fn

fnref -- o objeto acessível nomeada por fnref.get(); depois da chamada de function o objeto contém uma referência a fnref.get()

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

npc -- um ponteiro nulo; depois da chamada do objeto function está vazia

Em todos os casos, INVOKE(f, t1, t2, ..., tN), onde é f o objeto acessível e t1, t2, ..., tN é lvalues dos tipos T1, T2, ..., TN respectivamente, deve bem formada e, se Ret não é nulo, convertido em Ret.

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

Construtores

function::function

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

Typedefs

function::result_type

O tipo de retorno do objeto acessível armazenado.

Funções de membro

function::assign

Atribui um objeto acessível para este objeto de função.

function::swap

Troca dois objetos acessíveis.

function::target

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

function::target_type

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

Operadores

function::operador não especificado

Testa se o objeto acessível armazenado existir.

function::operator()

Chama um objeto acessível.

function::operator=

Substitui o objeto acessível armazenado.

Requisitos

Cabeçalho: <funcional>

Namespace: std

Consulte também

Referência

Função mem_fn

Classe reference_wrapper