boost/python/call.hpp
< boost / python / call . hpp > defines the call family of overloaded function templates , used to invoke Python callable objects from C ++.
template < class R , class A1 , class A2 , ... class An >
R call ( PyObject * callable , A1 const &, A2 const &, ... An const &)
Requires
R - тип указателя, тип ссылки или полный тип с доступным конструктором копий.
Effects
Вызывает Callable(a1, a2, ...an) в Python, где a1...an являются аргументами для вызова(), преобразованными в объекты Python.
Returns
Результат вызова Python, преобразованный в C++ типа R.
Rationale
Полное смысловое описание и обоснование см. на этой странице.
Следующая функция C++ применяет объект Python к двум аргументам и возвращает результат. Если исключение Python повышено или результат не может быть преобразован в двойной, исключение бросается.
double apply2 ( PyObject * func , double x , double y )
{
return boost :: python :: call < double >( func , x , y );
}
Статья boost/python/call.hpp раздела Boost.Python Reference Manual Chapter 4. Function Invocation and Creation может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Chapter 4. Function Invocation and Creation ::