对于内置类型,例如从PyLong_Type
到double
,boost python如何从python转换器注册?
我想定义一个转换器,它可以从python中获取numpy.float128
并为C ++中的函数返回long double
。我已经反过来了,to_python转换器。为此,我调整了builtin_converters.hpp
,但我没有发现boost python如何从python转换。
答案 0 :(得分:1)
from python转换实际上是在builtin_converters.cpp
中完成的,而不是在库的标题部分。我复制了这个文件并删除了long double
转换器以外的所有内容,然后我就可以修改它了。
答案 1 :(得分:0)
我会添加这个答案,虽然问题略有不同:
如何将Python类型对象(即PyTypeObject
,如PyLong_Type
,PyBool_Type
,PyUnicode_Type
等)转换为{{1} }?
似乎这很好用:
boost::python::object
结果是您可以通过Boost Python对象将实际类型对象公开给Python。