Fix directorin SWIGTYPE typemaps to make a copy as these are used for pass by value.

Closes #434
This commit is contained in:
William S Fulton 2016-05-14 21:19:14 +01:00
commit 98a31ff633
15 changed files with 180 additions and 14 deletions

View file

@ -0,0 +1,30 @@
%module(directors="1") director_pass_by_value
%director DirectorPassByValueAbstractBase;
%inline %{
class PassedByValue {
int val;
public:
PassedByValue() { val = 0x12345678; }
int getVal() { return val; }
};
int doSomething(int x) {
int yy[256];
yy[0] =0x9876;
return yy[0];
}
class DirectorPassByValueAbstractBase {
public:
virtual void virtualMethod(PassedByValue pbv) = 0;
virtual ~DirectorPassByValueAbstractBase () {}
};
class Caller {
public:
void call_virtualMethod(DirectorPassByValueAbstractBase &f) {
f.virtualMethod(PassedByValue());
}
};
%}