/trunk/Examples/test-suite/smart_pointer_member.i
Swig | 56 lines | 43 code | 13 blank | 0 comment | 0 complexity | c7e892675bcf9daff91919a7f8c4b178 MD5 | raw file
Possible License(s): LGPL-2.1, Cube, GPL-3.0, 0BSD, GPL-2.0
- %module smart_pointer_member
- %warnfilter(SWIGWARN_GO_NAME_CONFLICT); /* Ignoring 'foo' due to Go name ('Foo') conflict with 'Foo' */
- %inline %{
- class Foo {
- public:
- int x[4];
- int y;
- static const int z;
- static const int ZZ = 3;
- static int zx;
- static int boo() { return 0;}
- friend int foo(Foo* foo) { return 0;}
- };
-
- class Bar {
- Foo *f;
- public:
- Bar(Foo *f) : f(f) { }
- Foo *operator->() {
- return f;
- }
- static int bua() { return 0;}
- };
- class CBar {
- Foo *f;
- public:
- CBar(Foo *f) : f(f) { }
- const Foo *operator->() {
- return f;
- }
- };
-
- int get_y(Bar *b)
- {
- return (*b)->y;
- }
-
- int get_z(Bar *b)
- {
- return (*b)->z;
- }
- %}
- %{
- const int Foo::z = 3;
- int Foo::zx;
- %}