如何在swig中创建地图

How to create map in swig?

本文关键字:创建 地图 swig      更新时间:2023-10-16

我是swig的新手。我想在Swig中创建类指针的映射。如下

class A;
class B;
namespace std {
%template(MYMap) map<A*, B*>;
}

这不起作用。

但如果我创建这样的地图

namespace std {
%template(MYMap) map<int, int>;
}

它有效。

我认为它适用于原始内置类型。非常感谢。

我会把它放在注释中,因为我没有办法尝试,但在那里打字太难了。尝试指针类型的typedefs:

typedef A *APtr;
typedef B *BPtr;
%template(MyMap) map<APtr, BPtr>;

在.i文件顶部附近添加此行:

%include "std_map.i"

这将为std::map创建类型映射。还要确保您使用的是class B而不是Class B