在 swig 上包装返回向量<T>
Posted
技术标签:
【中文标题】在 swig 上包装返回向量<T>【英文标题】:Wrapping return vector<T> on swig 【发布时间】:2017-09-12 15:38:56 【问题描述】:我有一个 C++ 库,其中一些类具有返回 std::vector<T>
的方法,其中 T
是库的自定义类。有没有办法将此输出包装到 python 列表中?
问候。
【问题讨论】:
【参考方案1】:是的,这当然是可能的。
C++ 类将有其公共接口wrapped by SWIG。
SWIG 有 typemaps 代表 std::vector
,可以这样使用:
%include "typemaps.i"
%include "std_vector.i"
%
#include "MyClass.h"
%
%template(MyVector) std::vector<MyClass>;
【讨论】:
我正在按照你的建议做,但在 Python 中作为上述方法的返回,我看到以下内容:以上是关于在 swig 上包装返回向量<T>的主要内容,如果未能解决你的问题,请参考以下文章
从 SWIG 绑定中迭代返回的向量<pair<int,int>>