From 9bf8d63e0467d5abebc4a29859dacb24731d87cd Mon Sep 17 00:00:00 2001 From: Marcelo Matus Date: Thu, 1 Apr 2004 04:08:18 +0000 Subject: [PATCH] more cases git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5816 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Examples/test-suite/python/lib_std_pair.i | 3 ++ .../test-suite/python/lib_std_pair_runme.py | 40 +++++++++++++++++++ Examples/test-suite/python/std_containers.i | 16 +++++++- 3 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 Examples/test-suite/python/lib_std_pair_runme.py diff --git a/Examples/test-suite/python/lib_std_pair.i b/Examples/test-suite/python/lib_std_pair.i index b93af5f64..c3ad8ae96 100644 --- a/Examples/test-suite/python/lib_std_pair.i +++ b/Examples/test-suite/python/lib_std_pair.i @@ -21,6 +21,7 @@ %} namespace std { + %template(CIntPair) pair; %template() pair; %template(String) basic_string; %template(IntPair) pair; @@ -29,6 +30,8 @@ namespace std { %template(SIIPair) pair, int>; %template(AIntPair) pair; + %template(CCIntPair) pair >; + %template(ABPair) pair; %template(IntAPair) pair; } diff --git a/Examples/test-suite/python/lib_std_pair_runme.py b/Examples/test-suite/python/lib_std_pair_runme.py new file mode 100644 index 000000000..fac19df11 --- /dev/null +++ b/Examples/test-suite/python/lib_std_pair_runme.py @@ -0,0 +1,40 @@ +import lib_std_pair + +p = (1,2) +p1 = lib_std_pair.p_inout(p) +p2 = lib_std_pair.p_inoutd(p1) + +d1 = lib_std_pair.d_inout(2) + +i,d2 = lib_std_pair.d_inout2(2) + +i,p = lib_std_pair.p_inout2(p) +p3,p4 = lib_std_pair.p_inout3(p1,p1) + +psi = lib_std_pair.SIPair("hello",1) +pci = lib_std_pair.CIPair(1,1) + + +psi.first = "hi" + + +psi = lib_std_pair.SIPair("hi",1) +if psi != ("hi",1): + raise RuntimeError + +psii = lib_std_pair.SIIPair(psi,1) + +a = lib_std_pair.A() +b = lib_std_pair.B() + +pab = lib_std_pair.ABPair(a,b); + +pab.first = a +pab.first.val = 2 + +if pab.first.val != 2: + raise RuntimeError + + +pci = lib_std_pair.CIntPair(1,0) + diff --git a/Examples/test-suite/python/std_containers.i b/Examples/test-suite/python/std_containers.i index 8f9380f95..6975b2190 100644 --- a/Examples/test-suite/python/std_containers.i +++ b/Examples/test-suite/python/std_containers.i @@ -30,7 +30,7 @@ { return c; } - + } @@ -162,5 +162,19 @@ template struct Param return a; } + struct Foo + { + Foo(int i) { + } + }; + } + +%std_nodefconst_type(Foo); + +%template(vector_Foo) std::vector; +%template(deque_Foo) std::deque; +%template(list_Foo) std::list; + +