在任何类范围之外的Boost.Python中暴露常量

时间:2012-06-14 07:31:27

标签: python boost boost-python

我在C ++代码中有以下常量

enum
{
    BOUNDARY_NONE = -1,
};

我想用Boost.Python将它暴露给Python,这样它就可以在Python中以BOUNDARY_NONE的形式出现。我不想在任何附加范围内定义它。

我发现如何使用Boost.Python v1

执行此操作
#include <boost/python/reference.hpp>
my_module_builder.add(make_ref(BOUNDARY_NONE), "BOUNDARY_NONE");

但我使用较新版本的Python,我不知道如何使用它来访问my_module_builder(我改用BOOST_PYTHON_MODULE)。

Here出现了类似的问题,但它们正在为类范围添加常量,并且我没有任何类范围可供使用。

1 个答案:

答案 0 :(得分:8)

我找不到比:

更好的东西
scope().attr("BOUNDARY_NONE") = BOUNDARY_NONE;