diff options
Diffstat (limited to 'Examples/ruby/pointer/example.i')
-rw-r--r-- | Examples/ruby/pointer/example.i | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Examples/ruby/pointer/example.i b/Examples/ruby/pointer/example.i new file mode 100644 index 0000000..a8ac794 --- /dev/null +++ b/Examples/ruby/pointer/example.i @@ -0,0 +1,30 @@ +/* File : example.i */ +%module example + +%{ +extern void add(int *, int *, int *); +extern void sub(int *, int *, int *); +extern int divide(int, int, int *); +%} + +/* This example illustrates a couple of different techniques + for manipulating C pointers */ + +/* First we'll use the pointer library */ +extern void add(int *x, int *y, int *result); +%include cpointer.i +%pointer_functions(int, intp); + +/* Next we'll use some typemaps */ + +%include typemaps.i +extern void sub(int *INPUT, int *INPUT, int *OUTPUT); + +/* Next we'll use typemaps and the %apply directive */ + +%apply int *OUTPUT { int *r }; +extern int divide(int n, int d, int *r); + + + + |