The great merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
5fcae5eb66
commit
12a43edc2d
1508 changed files with 125983 additions and 44037 deletions
35
Examples/test-suite/pointer_in_out.i
Normal file
35
Examples/test-suite/pointer_in_out.i
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
/* This file tests the pointer-in-out typemap library,
|
||||
currently only available for Guile. */
|
||||
|
||||
%module pointer_in_out
|
||||
|
||||
%include "pointer-in-out.i"
|
||||
|
||||
TYPEMAP_POINTER_INPUT_OUTPUT(int *, int-pointer);
|
||||
|
||||
int consume_int_pointer(int **INPUT);
|
||||
void produce_int_pointer(int **OUTPUT, int value1, int value2);
|
||||
void frobnicate_int_pointer(int **INOUT);
|
||||
|
||||
%{
|
||||
|
||||
int consume_int_pointer(int **INPUT)
|
||||
{
|
||||
return **INPUT;
|
||||
}
|
||||
|
||||
void produce_int_pointer(int **OUTPUT, int value1, int value2)
|
||||
{
|
||||
int *foo = malloc(2 * sizeof(int));
|
||||
foo[0] = value1;
|
||||
foo[1] = value2;
|
||||
*OUTPUT = foo;
|
||||
}
|
||||
|
||||
void frobnicate_int_pointer(int **INOUT)
|
||||
{
|
||||
/* advance the pointer */
|
||||
(*INOUT)++;
|
||||
}
|
||||
|
||||
%}
|
||||
Loading…
Add table
Add a link
Reference in a new issue