Compartir a través de


function Class

contenedor para un objeto accesible.

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
    El tipo de función a ajustar.

  • _Ax
    La función de asignador.

Comentarios

La clase de plantilla es un contenedor de llamada cuya firma de llamada es Ret(T1, T2, ..., TN).Se utiliza para agregar diversos objetos accesibles en un contenedor uniforme.

Algunas funciones miembro toman un operando que los nombres el objeto deseado de destino.Puede especificar un operando de varias maneras:

fn -- el objeto accesible fn; después de la llamada al objeto de function contiene una copia de fn

fnref -- el objeto accesible denominado por fnref.get(); después de la llamada al objeto de function contiene una referencia a fnref.get()

right -- el objeto accesible, si existe, almacenado por el objeto rightde function

npc -- un puntero NULL; después de la llamada al objeto de function está vacío

En todos los casos, INVOKE(f, t1, t2, ..., tN), donde es el objeto f accesible y t1, t2, ..., tN es son de los tipos T1, T2, ..., TN respectivamente, debe ser correcto y, si Ret no está vacío, convertible a Ret.

Un objeto vacío de function no contiene un objeto accesible o una referencia a un objeto accesible.

Bb982519.collapse_all(es-es,VS.110).gifConstructores

function::function

Construye un contenedor que está vacío o almacena un objeto accesible de tipo arbitrario con una firma fija.

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

function::result_type

El del objeto accesible almacenado.

Bb982519.collapse_all(es-es,VS.110).gifFunciones miembro

function::assign

Asigna un objeto accesible a este objeto de función.

function::swap

intercambio dos objetos accesibles.

function::target

Comprueba si el objeto accesible almacenado es accesible especificadas.

function::target_type

Obtiene la información de tipo del objeto accesible.

Bb982519.collapse_all(es-es,VS.110).gifOperadores

function::operator unspecified

Comprueba si existe el objeto accesible almacenado.

function::operator()

Llama a un objeto accesible.

function::operator=

reemplaza el objeto accesible almacenado.

Requisitos

encabezado: <funcional>

espacio de nombres: std

Vea también

Referencia

mem_fn Function

reference_wrapper Class