SW#更改C#特定类型的字段的类型

时间:2018-09-03 15:53:34

标签: c# c++ swig

假设我在C / C ++中有这个

struct MyType {
   int foo;
   long other;   
};

我要在SWIG中将字段“ foo”的“ int”仅更改为bool!我该怎么办?

我不想更改原始来源。通常,如果这是我的资料来源,我将更改为bool!

1 个答案:

答案 0 :(得分:1)

您可以使用%applybool上使用int foo类型映射来实现所需的功能:

%module test
%apply bool { int foo };
%inline %{
struct MyType {
   int foo;
};
%}

在其他更复杂的情况下,您必须编写自己的类型映射以支持此操作,但是由于bool和int在C ++中是隐式可转换的,因此可以立即编译和正常工作。