Как преобразовать список Boost Python в PyObject

Мне нужно создать массив numpy в программе C++

bp::list py_points;
// some code ....

и в какой-то части кода мне нужно преобразовать py_points в тип PyObject * для оценки модуля python

PyObject * point_array, * numpy, * ndarray;
numpy = PyImport_ImportModuleNoBlock("numpy");
ndarray = PyObject_GetAttrString(numpy, "array");
point_array = PyEval_CallObject(ndarray,bp::extract<PyObject *>(py_points)); //error!

ошибка именно в этой части

bp::extract<PyObject *>(py_points)

как правильно преобразовать объект boost python в PyObject?

большое спасибо!


person ljofre    schedule 21.12.2013    source источник


Ответы (1)


Вы не можете извлечь PyObject из boost::python::object. Класс объекта имеет член ptr(), который возвращает нижележащий PyObject.

person Community    schedule 21.12.2013