1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
%module typemap_self
// This typemap should be ignored for self?
%typemap(in) A* (A* ptr) {
if (SWIG_ConvertPtr($input, (void**) &ptr, $1_descriptor, 0) != -1) {
$1 = ptr;
} else {
$1 = new A();
}
}
// Simple but unsecure current fix
//%apply SWIGTYPE* {A* self}
%inline %{
class A;
int foo(A* self)
{
return 0;
}
struct A
{
static int bar(int, A* self)
{
return 1;
}
int val;
int foo(A* self, A* b)
{
return 1;
}
};
struct B
{
B(A*)
{
}
};
%}
|