包装std :: vector std :: vectors,C ++ SWIG Python

时间:2010-09-21 15:31:17

标签: c++ python vector swig

我想使用SWIG将向量的C ++向量包装到Python代码中。

是否可以包装这种类型的向量载体?

std::vector<std::vector<MyClass*>>;

在界面文件MyApplication.i中,我添加了这些行:

%include "std_vector.i"
%{ 
#include <vector> 
%} 

namespace std {
   %template(VectorOfStructVector) vector<vector<MyClass*>>;
}

但是,我在执行SWIG时遇到错误。我能够包装这种类型(使用对向量的引用):

 std::vector<std::vector<MyClass*>*>;

但是,它无法正常工作,我无法访问这些项目。这就是为什么我对这种类型感兴趣(没有参考):

 std::vector<std::vector<MyClass*>>;

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

这是一个C ++解析问题吗?

 std::vector<std::vector<MyClass*> >;
 ---Important space---------------^