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 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
|
%module extend_typedef_class
%warnfilter(SWIGWARN_PARSE_EXTEND_NAME) tagCClass;
%warnfilter(SWIGWARN_PARSE_EXTEND_NAME) tagCStruct;
// classes in global namespace
%inline %{
typedef struct tagAClass {
int membervar;
} AClass;
struct BClass {
int membervar;
};
typedef struct tagCClass {
int membervar;
} CClass;
// Unnamed struct
typedef struct {
int membervar;
} DClass;
%}
%extend tagAClass {
int getvar() { return $self->membervar; }
}
%extend BClass {
int getvar() { return $self->membervar; }
}
%extend CClass {
int getvar() { return $self->membervar; }
}
%extend DClass {
int getvar() { return $self->membervar; }
}
// classes in a namespace
%inline %{
namespace Space {
typedef struct tagAStruct {
int membervar;
} AStruct;
struct BStruct {
int membervar;
};
typedef struct tagCStruct {
int membervar;
} CStruct;
// Unnamed struct
typedef struct {
int membervar;
} DStruct;
}
%}
namespace Space {
%extend tagAStruct {
int getvar() { return $self->membervar; }
}
%extend BStruct {
int getvar() { return $self->membervar; }
}
%extend CStruct {
int getvar() { return $self->membervar; }
}
%extend DStruct {
int getvar() { return $self->membervar; }
}
}
|