Не можете правильно выставить std :: pair для Java-привязок? - PullRequest
1 голос
/ 15 марта 2012

Я использую swig для генерации привязок для моей библиотеки c ++ в java.

В моем нативном коде у меня есть следующая пара:

std::pair<std::string,vector <int> >;

Я хочу открыть ее для java.Но когда я вижу, что мой wrap.cxx находится в форме

SWIGTYPE_p_Ivectors.

, и я не могу получить вектор с помощью этой ручки.В конце концов я не могу выполнять какие-либо векторные операции.

Я также включил

%include <std_vector.i>

И также создал такой шаблон

%template(Ivectors) vector<int>;

Пожалуйста, помогите мне как можно скорее.

1 Ответ

3 голосов
/ 16 марта 2012

У вас там более одного шаблона. Вы уже получили:

%template(Ivectors) vector<int>;

Вам также необходимо:

%template(SVpair) std::pair<std::string,vector <int> >;
...