add 'iterator'(sequences) and 'key_iterator'(maps). The first returns allways the C++ iterator. In sequences __iter__ returns 'iterator()', in maps, __iter__ returns 'key_iterator()'

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7775 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2005-11-02 15:58:58 +00:00
commit a3424e36e1
3 changed files with 30 additions and 23 deletions

View file

@ -4,26 +4,30 @@ a1 = li_std_map.A(3)
a2 = li_std_map.A(7)
if 1:
p0 = li_std_map.pairii(1,2)
p1 = li_std_map.pairA(1,a1.this)
m = {}
m[1] = a1
m[2] = a2
pp1 = li_std_map.p_identa(p1)
mm = li_std_map.m_identa(m)
p0 = li_std_map.pairii(1,2)
p1 = li_std_map.pairA(1,a1.this)
m = {}
m[1] = a1
m[2] = a2
pp1 = li_std_map.p_identa(p1)
mm = li_std_map.m_identa(m)
m = li_std_map.mapA()
m[1] = a1
m[2] = a2
for i in m:
if m[i[0]].this != i[1].this:
print m[i[0]].this, i[1].this
raise RuntimeError
m = li_std_map.mapA()
m[1] = a1
m[2] = a2
pm ={}
for k in m:
pm[k] = m[k]
for k in m:
if pm[k].this != m[k].this:
print pm[k], m[k]
raise RuntimeError