【发布时间】:2018-05-15 15:02:32
【问题描述】:
我正在努力使用 swig 将 C++ 类枚举转换为 python 枚举。我在 example.h 文件中有以下实现。
namespace colors{
enum class Color{
RED = 0,
BLUE = 1,
GREEN = 2
};
}
我的 Swig 接口文件是
%module api
%{
#include "example.h"
%}
%include "example.h"
但使用swig工具后界面提供如下用法
import pywarp_example as impl
impl.RED
这里出现的问题是,是否可以像我们在 python 中使用的方式那样访问枚举?
impl.Color.RED Or impl.Color.RED.value
【问题讨论】:
-
SWIG 比 Python
enums 早了很多。维护人员必须先添加对enums 的支持,然后才能执行此操作。据我所知,这还没有发生。 -
谢谢我希望这个支持很快添加:)
-
我不久前发布了另一个相关的解决方案:stackoverflow.com/a/13442110/168175
-
感谢 Flexo 提供另一种解决方案