summaryrefslogtreecommitdiff
path: root/trunk/Examples/java/pointer/example.i
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/Examples/java/pointer/example.i')
-rw-r--r--trunk/Examples/java/pointer/example.i30
1 files changed, 30 insertions, 0 deletions
diff --git a/trunk/Examples/java/pointer/example.i b/trunk/Examples/java/pointer/example.i
new file mode 100644
index 000000000..a8ac79499
--- /dev/null
+++ b/trunk/Examples/java/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);
+
+
+
+