Поделиться через


function Class

Программа-оболочка, вызываемые объекта.

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

Параметры

  • Fty
    Тип функции для создания программу-оболочку.

  • _Ax
    Функция выделения.

Заметки

Класс-шаблон программа-оболочка вызова вызова которой подписи Ret(T1, T2, ..., TN).Используется для заключения в них различные вызываемые объекты в равномерную программу-оболочку.

Некоторые функции-члены принимают операнд, именем нужного целевого объекта.Можно указать один операнд несколькими способами.

fn -- вызываемые объект fn; после вызова объект function хранит копию fn

fnref -- вызываемые объект с именем fnref.get(); после вызова function хранит ссылку на объект fnref.get()

right -- вызываемые объект, если таковой имеется, который содержит объект rightfunction

npc -- указатель null; после вызова function пустой объект

Во всех случаях, INVOKE(f, t1, t2, ..., tN), где f объект и вызываемые t1, t2, ..., tN lvalues типов T1, T2, ..., TN соответственно, должно быть с правильным форматом, и, если Ret не пусто, обратимо к Ret.

Пустой объект function не могут вызываться объект или ссылку на вызываемые объекту.

Bb982519.collapse_all(ru-ru,VS.110).gifКонструкторы

function::function

Создает программу-оболочку, что или пуст или хранит вызываемые объект произвольного типа с фиксированным подписи.

Bb982519.collapse_all(ru-ru,VS.110).gifОпределения типов

function::result_type

Возвращаемый тип хранимой вызываемые объекта.

Bb982519.collapse_all(ru-ru,VS.110).gifФункции элементов

function::assign

Присвоит вызываемые объект данному объекту функции.

function::swap

Обмен 2 вызываемые объекта.

function::target

Тесты, если сохраненные вызываемые объекты могут вызываться, как указано.

function::target_type

Получает сведения о типе на вызываемые объекте.

Bb982519.collapse_all(ru-ru,VS.110).gifОператоры

function::operator unspecified

Тесты, если сохраненные вызываемые существует объект.

function::operator()

Вызывает вызываемые объект.

function::operator=

Заменяет, хранящихся вызываемые объект.

Требования

заголовок: <functional>

std пространство имен:

См. также

Ссылки

mem_fn Function

reference_wrapper Class