Articles of boost python

Impulsa Python envolviendo un método virtual.

Estoy usando boost python para crear un enlace a una biblioteca de c ++. Algunas clases de esta biblioteca tienen métodos virtuales que aceptan tipos de iterador / const_iterator como argumentos. No quiero particularmente exponer estos tipos, pero preferiría crear algunos envoltorios alrededor de estos métodos virtuales que acepten el contenedor apropiado en su lugar. […]

Edificio / incluyendo Boost.Python en VS2013

¿Puede alguien decirme si estoy haciendo algo mal? Estoy en Windows 7 con Visual Studio 2013 y me gustaría poder configurar un proyecto Boost.Python simple. No sé si he hecho algo incorrecto al boost el edificio o al incluirlo en mi proyecto. Error Cuando bash #include cualquier módulo de python boost, por ejemplo, #include el […]

envolviendo una lista de estructuras con boost.python

Tengo una función de C ++ que devuelve una lista de estructuras. Dentro de la estructura, hay más listas de estructuras. struct CameraInfo { CamName name; std::list lImgFormats; std::list lCamControls; }; std::list getCameraInfo() { std::list lCamerasInfo; // fill lCamerasInfo return lCamerasInfo; } Luego para exportarlo estuve usando: class_ >(“CameraNode”, no_init) … … .def(“listCameraInfo”, make_function(&CameraNode::listCameraInfo)) .staticmethod(“listCameraInfo”) […]

Genere problemas al agregar el método `__str__` a la clase Boost Python C ++

Empecé a jugar un poco con boost python y me encontré con un problema. Intenté exponer una clase de C ++ a python que no planteaba problemas. Pero parece que no puedo implementar la funcionalidad __str__ para la clase sin obtener errores de comstackción que no entiendo. Estoy usando boost 1_42 prebuild by boostpro. Construyo […]

¿Es una mala idea envolver la biblioteca de C ++ con ctypes?

Leí los siguientes dos subprocesos en la biblioteca de C y la biblioteca de C ++ , no estoy seguro de haberlo obtenido todavía. La biblioteca de C ++ con la que estoy trabajando usa clase y plantilla, pero no de una manera demasiado sofisticada. ¿Cuáles son los problemas o las advertencias de envolverlos con […]

Exponiendo un puntero en Boost.Python

Tengo esta clase de C ++ muy simple: class Tree { public: Node *head; }; BOOST_PYTHON_MODULE(myModule) { class_(“Tree”) .def_readwrite(“head”,&Tree::head) ; } Quiero acceder a la variable head desde Python, pero el mensaje que veo es: No to_python (by-value) converter found for C++ type: Node* Por lo que entiendo, esto sucede porque Python se está volviendo […]

¿Cómo definir una metaclase de Python con Boost.Python?

La API de Python C tiene el objeto PyObject *PyType_Type , que es equivalente a type en el intérprete. Si quiero definir una metaclase en C ++, ¿cómo puedo configurar el type como una de sus bases en Boost.Python? Además, ¿qué otras cosas debo tener en cuenta al definir una metaclase de Python en C […]

Python incrustado en CPP: cómo recuperar datos a CPP

Mientras trabajaba en un proyecto de C ++, estaba buscando una biblioteca de terceros para algo que no es mi negocio principal. Encontré una biblioteca realmente buena, que hace exactamente lo que se necesita, pero está escrita en Python. Decidí experimentar con la incorporación de código Python en C ++, utilizando la biblioteca Boost.Python. El […]

¿Importar clases desde pyside dentro de un módulo de impulso de python?

Me gustaría usar PySide para definir las clases básicas de QT y el mapeo entre C ++ y python, pero para hacerlo tanto en el código de python independiente como en python integrado usando boost :: python. Primero, la definición del módulo y la clase que devuelve QPointF: QPointF X::getY() { return QPointF(); } BOOST_PYTHON_MODULE(myBoostPythonModule) […]

La exportación de la clase Boost Python no se comstack con un error de enlace en Visual Studio 2013

Compilé Boost y lo utilicé para exportar la siguiente función a una DLL: #include using namespace boost::python; std::string greet() { return “hello, dude !!”; } BOOST_PYTHON_MODULE(hello) { def(“greet”, greet); } Esto se cargó correctamente en Python después de que cambié el nombre del archivo hello.dll a hello.pyd. Ahora estoy intentando esto: #include using namespace boost::python; […]