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