git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
39 lines
496 B
OpenEdge ABL
39 lines
496 B
OpenEdge ABL
// 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;
|
|
}
|
|
};
|
|
|
|
%}
|
|
|
|
|