【问题标题】:exposing constant in Boost.Python outside of any class scope在任何类范围之外暴露 Boost.Python 中的常量
【发布时间】:2012-06-14 07:31:27
【问题描述】:

我在 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 出现了类似的问题,但他们正在向类范围添加常量,我没有任何类范围可供使用。

【问题讨论】:

    标签: python boost boost-python


    【解决方案1】:

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

    scope().attr("BOUNDARY_NONE") = BOUNDARY_NONE;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 2021-04-10
      相关资源
      最近更新 更多