git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7100 626c5289-ae23-0410-ae9c-e8d60b6d4f22
56 lines
679 B
OpenEdge ABL
56 lines
679 B
OpenEdge ABL
%module smart_pointer_member
|
|
|
|
|
|
|
|
%inline %{
|
|
|
|
class Foo {
|
|
public:
|
|
int x[4];
|
|
int y;
|
|
static const int z;
|
|
static const int ZZ = 3;
|
|
static int zx;
|
|
|
|
static int boo() { return 0;}
|
|
|
|
friend int foo(Foo* foo) { return 0;}
|
|
};
|
|
|
|
class Bar {
|
|
Foo *f;
|
|
public:
|
|
Bar(Foo *f) : f(f) { }
|
|
Foo *operator->() {
|
|
return f;
|
|
}
|
|
|
|
static int bua() { return 0;}
|
|
};
|
|
|
|
class CBar {
|
|
Foo *f;
|
|
public:
|
|
CBar(Foo *f) : f(f) { }
|
|
const Foo *operator->() {
|
|
return f;
|
|
}
|
|
};
|
|
|
|
|
|
int get_y(Bar *b)
|
|
{
|
|
return (*b)->y;
|
|
}
|
|
|
|
int get_z(Bar *b)
|
|
{
|
|
return (*b)->z;
|
|
}
|
|
%}
|
|
|
|
|
|
%{
|
|
const int Foo::z = 3;
|
|
int Foo::zx;
|
|
%}
|