来自内置类型的python转换器

时间:2012-11-07 10:36:33

标签: c++ python boost-python

对于内置类型,例如从PyLong_Typedouble,boost python如何从python转换器注册?

我想定义一个转换器,它可以从python中获取numpy.float128并为C ++中的函数返回long double。我已经反过来了,to_python转换器。为此,我调整了builtin_converters.hpp,但我没有发现boost python如何从python转换。

2 个答案:

答案 0 :(得分:1)

from python转换实际上是在builtin_converters.cpp中完成的,而不是在库的标题部分。我复制了这个文件并删除了long double转换器以外的所有内容,然后我就可以修改它了。

答案 1 :(得分:0)

我会添加这个答案,虽然问题略有不同:

如何将Python类型对象(即PyTypeObject,如PyLong_TypePyBool_TypePyUnicode_Type等)转换为{{1} }?

似乎这很好用:

boost::python::object

结果是您可以通过Boost Python对象将实际类型对象公开给Python。