mirror of https://github.com/swig/swig
40 lines
496 B
OpenEdge ABL
40 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;
|
|
}
|
|
};
|
|
|
|
%}
|
|
|
|
|