如何在SWIG Java目标中包装对枚举的所有引用
How to wrap all references to enums in SWIG Java target?
我有一个enum myEnum
,以及c++中的以下方法:
void MyClass::SetValue(myEnum newValue);
void MyClass::GetValue(myEnum& theValue);
我使用的是"enum"。"i",并且myEnum
已正确转换为Java enum
。SetValue
工作正常,但GetValue
采取一个奇怪的SWIGTYPE_p_myEnum_ptr类,我不能创建。
是否有一种方法可以自动为所有enum
引用创建包装器?类似于包含枚举值的类,所以它可以被传递和修改?
查看Swig文档中的类型映射(特别是Swig 3的10.1.1节),有一个类型映射可以自动将void f(T&)
公开为T f()
,您必须告诉Swig将其用于您的类型。您将在您的类型上使用OUTPUT
类型映射的%apply
,沿着
%apply MyEnum& OUTPUT {MyEnum& theValue};
相关文章:
- 为什么不能直接引用作用域枚举类成员,而不能为无作用域枚举生成类成员?
- 枚举类的 C 样式强制转换到基础类型 char 的引用
- C - 最好将枚举类作为值或const引用
- C++ 在C++中通过引用将枚举作为默认参数传递时出错
- 为什么 boost::call_traits<T>::p aram_type 是枚举类型的引用?
- 引用枚举枚举返回错误的价值
- 无法获取库上的枚举(未定义的引用静态元对象)
- 将 wstring、string 和对枚举变量的引用从 C# 传递到 C++(非托管 DLL)
- 将枚举类变量reinterpret_cast到基础类型的引用是否安全
- (C++)不能引用命名空间内的枚举类
- 如何在Powershell脚本中引用C++枚举
- 通过引用或值枚举类C++11
- 引用c++枚举
- 如何添加枚举类型以引用数组
- 在COM IDL中,如何从COM依赖项引用枚举
- 枚举引用未定义,但位于包含的头文件中
- 如何在SWIG Java目标中包装对枚举的所有引用
- C++:将枚举作为值传递还是作为常量引用传递更好
- 将枚举传递给引用int的函数
- 引用结构内部的枚举