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 48 49 50 51 52 53 54 55 56 57 58 59 60
|
%module xxx
typedef struct {
int myint;
} StructA;
typedef struct StructBName {
int myint;
} StructB;
typedef struct StructC {
int myint;
} StructC;
%extend StructA {
void method() {}
}
%extend StructB {
void method() {}
}
%extend StructC {
void method() {}
}
struct StructD {
int myint;
};
typedef struct StructD StructDName;
%extend StructDName {
void method() {}
}
typedef struct stru_struct {
int bar;
} stru;
typedef union uni_union {
int un1;
double un2;
} uni;
%extend stru {
stru() {
stru* s = (stru*)malloc(sizeof(stru));
s->bar = 11;
return s;
}
~stru() {
free($self);
}
}
%extend uni {
uni() { return 0; }
~uni() { free($self); }
}
|