| %module smart_pointer_overload | |
| #ifdef SWIGLUA // lua only has one numeric type, so some overloads shadow each other creating warnings | |
| %warnfilter(SWIGWARN_LANG_OVERLOAD_SHADOW) test; | |
| #endif | |
| %inline %{ | |
| struct Foo { | |
| int x; | |
| int test(int y) { y = 0; return 1; } | |
| int test(double y) { y = 0; return 2; } | |
| int test(char *s) { s = 0; return 3; } | |
| }; | |
| class Bar { | |
| Foo *f; | |
| public: | |
| Bar(Foo *f) : f(f) { } | |
| Foo *operator->() { | |
| return f; | |
| } | |
| }; | |
| %} | |