| // Test cases for classes that do *NOT* result in smart-pointer wrapping | |
| %module smart_pointer_multi | |
| %inline %{ | |
| struct Foo { | |
| int x; | |
| int getx() { return x; } | |
| }; | |
| class Bar { | |
| Foo *f; | |
| public: | |
| Bar(Foo *f) : f(f) { } | |
| Foo *operator->() { | |
| return f; | |
| } | |
| }; | |
| class Spam { | |
| Bar *b; | |
| public: | |
| Spam(Bar *b) : b(b) { } | |
| Bar operator->() { | |
| return *b; | |
| } | |
| }; | |
| class Grok { | |
| Bar *b; | |
| public: | |
| Grok(Bar *b) : b(b) { } | |
| Bar &operator->() { | |
| return *b; | |
| } | |
| }; | |
| %} | |