| %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; |
| %} |