swig/Examples/test-suite/director_nested_class.i

26 lines
730 B
OpenEdge ABL

%module(directors="1") director_nested_class
%feature("director") DirectorOuter::DirectorInner;
%feature("director") DirectorOuter::DirectorInner::DirectorInnerInner;
%inline %{
struct DirectorOuter {
struct DirectorInner {
virtual ~DirectorInner() {}
virtual int vmethod(int input) const = 0;
struct DirectorInnerInner {
DirectorInnerInner(DirectorInner *din = 0) {}
virtual ~DirectorInnerInner() {}
virtual int innervmethod(int input) const = 0;
};
};
static int callMethod(const DirectorInner &di, int value) {
return di.vmethod(value);
}
static int callInnerInnerMethod(const DirectorInner::DirectorInnerInner &di, int value) {
return di.innervmethod(value);
}
};
%}