/tags/rel-1-3-29/SWIG/Examples/test-suite/typedef_mptr.i
Swig | 34 lines | 27 code | 7 blank | 0 comment | 0 complexity | 9f124514794040444392fceeea33ed78 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
1// Tests typedef through member pointers 2 3%module typedef_mptr 4 5#if defined(SWIGPYTHON) || defined(SWIGOCAML) 6 7%inline %{ 8 9class Foo { 10public: 11 int add(int x, int y) { 12 return x+y; 13 } 14 int sub(int x, int y) { 15 return x-y; 16 } 17 int do_op(int x, int y, int (Foo::*op)(int, int)) { 18 return (this->*op)(x,y); 19 } 20}; 21 22typedef Foo FooObj; 23typedef int Integer; 24 25Integer do_op(Foo *f, Integer x, Integer y, Integer (FooObj::*op)(Integer, Integer)) { 26 return f->do_op(x,y,op); 27} 28%} 29#endif 30 31#if defined(SWIGPYTHON) || defined(SWIGOCAML) 32%constant int (Foo::*add)(int,int) = &Foo::add; 33%constant Integer (FooObj::*sub)(Integer,Integer) = &FooObj::sub; 34#endif