совместимо если для данного набора аргументов
типов Arg1,
Arg2, ...
ArgN и a
тип возврата ResultType,
Надлежащая следующая функция хорошо сформирована:
// if ResultType is not void
ResultType foo(Arg1 arg1, Arg2 arg2, ..., ArgN argN)
{
return f(arg1, arg2, ..., argN);
}
// if ResultType is void
ResultType foo(Arg1 arg1, Arg2 arg2, ..., ArgN argN)
{
f(arg1, arg2, ..., argN);
}
Специальное положение предусмотрено для указателей членам
функции. Хотя они не являются объектами функции, Boost. Функция
будет адаптировать их внутренне для функционирования объектов. Это требует
чтобы указатель на функцию члена формы R
(X::*mf)(Arg1, Arg2, ..., ArgN)
cv-quals был адаптирован к
объект функции со следующим оператором вызова функции
перегрузка:
// if ResultType is not void
ResultType foo(Arg1 arg1, Arg2 arg2, ..., ArgN argN)
{
return f(arg1, arg2, ..., argN);
}
// if ResultType is void
ResultType foo(Arg1 arg1, Arg2 arg2, ..., ArgN argN)
{
f(arg1, arg2, ..., argN);
}
A special provision is made for pointers to member
functions. Though they are not function objects, Boost.Function
will adapt them internally to function objects. This requires
that a pointer to member function of the form R
(X::*mf)(Arg1, Arg2, ..., ArgN)
cv-quals be adapted to a
function object with the following function call operator
overloads:
stateless если это указатель функции или если
boost::is_stateless<F>
Это правда. Сооружение или копирование на буль. Функция объект
от объекта функции апатрида не вызывает исключений
брошены и не будут выделять никакого хранилища.
Статья Reference раздела The Boost C++ Libraries BoostBook Documentation Subset Chapter 13. Boost.Function может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.