Bug 1498929: Access to member fields of map elements.

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12643 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Stefan Zager 2011-04-25 21:12:33 +00:00
commit 4b9ef9bc99
5 changed files with 36 additions and 1 deletions

View file

@ -0,0 +1,20 @@
%module li_std_map_member
%inline %{
int i;
class TestA {
public:
TestA() { i = 1; }
int i;
};
%}
%include std_pair.i
%include std_map.i
namespace std
{
%template(pairii) pair<int,int>;
%template(mapii) map<int,int>;
%template(pairita) pair<int,TestA>;
%template(mapita) map<int,TestA>;
}

View file

@ -49,6 +49,7 @@ CPP_TEST_CASES += \
li_implicit \
li_std_vectora \
li_std_vector_extra \
li_std_map_member \
li_std_multimap \
li_std_pair_extra \
li_std_set \

View file

@ -0,0 +1,11 @@
import li_std_map_member
a = li_std_map_member.mapita()
a[1] = li_std_map_member.TestA()
if (a[1].i != 1) :
raise RuntimeError("a[1] != 1")
a[1].i = 2
if (a[1].i != 2) :
raise RuntimeError("a[1] != 2")