Класс function
Программа-оболочка можно вызвать для объекта.
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 -- указатель; после вызова объект function пуст
Во всех случаях INVOKE(f, t1, t2, ..., tN), где f можно вызвать объект и t1, t2, ..., tN значения типов T1, T2, ..., TN соответственно, должно быть с правильным форматом и, если Ret не пусто, преобразовать в значение Ret.
Пустой объект function не содержит можно вызвать объект или ссылку на вызываемую объектом.
конструкторов;
Построение программу-оболочку, или пустой или хранит можно вызвать объект произвольного типа с фиксированной сигнатурой. |
Определения типов
Тип возвращаемого значения, хранящиеся вызываемую объекта. |
Функции-члены
Присвоить можно вызвать объект на этот объект функции. |
|
Обмен 2 можно вызвать объекта. |
|
Если тесты, сохраненные можно вызвать объект можно вызвать в указанном порядке. |
|
Получает сведения о типе можно вызвать в объекте. |
Операторы
Если тесты, сохраненные можно вызвать объект существует. |
|
Вызывает можно вызвать объект. |
|
Заменяет сохраненного можно вызвать объект. |
Требования
Заголовок: <functional>
Пространство имен: std