如何在SWIG Java目标中包含对枚举的所有引用?

时间:2014-05-30 22:27:52

标签: java c++ swig

我有一个枚举myEnum,以及C ++中的以下方法:

void MyClass::SetValue(myEnum newValue);
void MyClass::GetValue(myEnum& theValue);

我正在使用" enums.i",而myEnum已正确转换为Java enumSetValue正常工作,但是GetValue接受了一个我无法创建的奇怪的SWIGTYPE_p_myEnum_ptr类。

有没有办法自动为所有enum引用创建包装器?类似于包含枚举值的类,所以它可以被传递并修改?

1 个答案:

答案 0 :(得分:1)

查看Swig文档重新打字图(特别是section 10.1.1 of SWIG 3),有一个类型图会自动将void f(T&)公开为T f(),您必须告诉SWIG使用它为你的类型。您可以在类型上使用%apply类型地图的OUTPUT,这与

相似
%apply MyEnum& OUTPUT {MyEnum& theValue};