// Test cases for classes that do *NOT* result in smart-pointer wrapping | |
%module smart_pointer_not | |
%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 { | |
Foo *f; | |
public: | |
Spam(Foo *f) : f(f) { } | |
Foo &operator->() { | |
return *f; | |
} | |
}; | |
class Grok { | |
Foo *f; | |
public: | |
Grok(Foo *f) : f(f) { } | |
Foo **operator->() { | |
return &f; | |
} | |
}; | |
%} | |