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

V_V*_*V_V 3 python boost boost-python

我在C++代码中遵循常量

enum
{
    BOUNDARY_NONE = -1,
};
Run Code Online (Sandbox Code Playgroud)

我想用Boost.Python将它暴露给Python,这样它就可以在Python中使用了BOUNDARY_NONE.我不想在任何附加范围内定义它.

我发现如何使用Boost.Python v1执行此操作

#include <boost/python/reference.hpp>
my_module_builder.add(make_ref(BOUNDARY_NONE), "BOUNDARY_NONE");
Run Code Online (Sandbox Code Playgroud)

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

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

Jon*_*tan 8

我没有找到比以下更好的东西:

scope().attr("BOUNDARY_NONE") = BOUNDARY_NONE;
Run Code Online (Sandbox Code Playgroud)