/trunk/Examples/test-suite/director_wombat.i
Swig | 49 lines | 41 code | 8 blank | 0 comment | 0 complexity | cb5c6a2a3b6dbf17c7ce002a9ef50c19 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- %module(directors="1") director_wombat
- #pragma SWIG nowarn=SWIGWARN_TYPEMAP_THREAD_UNSAFE,SWIGWARN_TYPEMAP_DIRECTOROUT_PTR
- %feature(director) Bar;
- %feature(director) Foo<int>;
- %inline %{
- template<typename T> class Foo
- {
- public:
- Foo()
- { /* NOP */ }
- virtual ~Foo()
- { /* NOP */ }
- virtual int meth(T param)
- { return param; }
- };
- typedef Foo<int> Foo_int;
- class Bar
- {
- public:
- virtual ~Bar();
- virtual Foo_int *meth();
- virtual void foo_meth_ref(Foo_int &, int);
- virtual void foo_meth_ptr(Foo_int *, int);
- virtual void foo_meth_val(Foo_int, int);
- virtual void foo_meth_cref(const Foo_int &, int);
- virtual void foo_meth_cptr(const Foo_int *, int);
- };
- Bar::~Bar()
- { /* NOP */ }
- Foo_int *
- Bar::meth()
- {
- return new Foo_int();
- }
- void Bar::foo_meth_ref(Foo_int &arg, int param) { }
- void Bar::foo_meth_ptr(Foo_int *arg, int param) { }
- void Bar::foo_meth_val(Foo_int arg, int param) { }
- void Bar::foo_meth_cref(const Foo_int &arg, int param) { }
- void Bar::foo_meth_cptr(const Foo_int *arg, int param) { }
- %}
- %template(Foo_integers) Foo<int>;