blob: a598b6a425188a6c4a96d0b8352571d990ee9fad [file] [log] [blame]
/* File : example.i */
%module my_example
enum color { RED=10, BLUE, GREEN };
class Foo {
public:
Foo() { }
enum speed { IMPULSE, WARP, LUDICROUS };
void enum_test(speed s);
};
void enum_test(color c, Foo::speed s);
%include pointer.i
/* Next we'll use some typemaps */
%include typemaps.i
%typemap(out) int * {
WHATEVER MAKES YOU HAPPY AS RESULT
}
%typemap(in) int * {
WHATEVER MAKES YOU HAPPY AS PARAMETER
}
%pragma(xml) DEBUG="false";
extern int * my_gcd(const char * x, int * y[], int * r, int (*op)(int,int)) const;
extern double my_foo;
void my_void();
my_empty();
const double my_dutch = 1.0;
union my_union
{
int my_iii;
char my_ccc;
};
struct my_struct
{
public:
virtual ~my_struct();
int my_foo();
protected:
int my_bar;
double x, y;
virtual double area() = 0;
static int nshapes;
};
class my_class : public my_struct, public my_union
{
public:
my_class( char c );
private:
~my_class();
virtual const int * my_func( my_class , char * * x, int y[], const int & r) const;
double my_foo[128];
const my_int i;
};
typedef int my_int;