Wrap std :: vector из std :: vectors, C ++ SWIG Python - PullRequest
2 голосов
/ 21 сентября 2010

Я хочу обернуть вектор векторов C ++ в код Python с помощью SWIG.

Можно ли обернуть вектор такого типа вектором?

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 Ответ

3 голосов
/ 21 сентября 2010

Это проблема синтаксического анализа в C ++?

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