From: William S F. <ws...@fu...> - 2013-02-08 19:13:47
|
On 01/02/13 09:21, Andre Minkowski wrote: > Hello, > is it possible, to have SWIG create a java wrapper for the following > class D that extends the base class B (instead of A, which is the first > base)? > // Derived.h: > class D: public A,B,C{ > //... > }; > > Is there any SWIG statement that says "use B as base class" rather than > modifying the header file itself? This is needed as part of a bigger > wrapper, and I would like to include the original header files without > modifications. > > Now another question in the same context of multiple inheritance: > Currently I am adding the required methods from C to D like this: > %extend D{ > void Cfun1(){$self->Cfun1();} > void Cfun2(){$self->Cfun2();} > //... > C* baseC(){return $self;} > } > Cfun1() and Cfun2() are methods which are defined for class C. Is there > any possibility to have SWIG automatically include all methods from > those base classes which are not used as base class in java? > I found that multiple inheritance in java can be simulated to some > extent using interfaces and mixin classes. Is anything like this under > development for SWIG? Not currently, but it would be good if SWIG supported this as a feature. There was a partial implementation, details at http://codewrapper.com/wiki/index.php?title=SWIG_GSoC_2012_ideas_page#Idea_7:_Better_Multiple_Inheritance_Support William |