| /* File : example.i */ |
| %module example |
| |
| %{ |
| #include "example.h" |
| %} |
| %include "arrays_csharp.i" |
| |
| %apply int INPUT[] { int* sourceArray } |
| %apply int OUTPUT[] { int* targetArray } |
| |
| %apply int INOUT[] { int* array1 } |
| %apply int INOUT[] { int* array2 } |
| |
| %include "example.h" |
| |
| %clear int* sourceArray; |
| %clear int* targetArray; |
| |
| %clear int* array1; |
| %clear int* array2; |
| |
| |
| // Below replicates the above array handling but this time using the pinned (fixed) array typemaps |
| %csmethodmodifiers "public unsafe"; |
| |
| %apply int FIXED[] { int* sourceArray } |
| %apply int FIXED[] { int* targetArray } |
| |
| %inline %{ |
| void myArrayCopyUsingFixedArrays( int *sourceArray, int* targetArray, int nitems ) { |
| myArrayCopy(sourceArray, targetArray, nitems); |
| } |
| %} |
| |
| %apply int FIXED[] { int* array1 } |
| %apply int FIXED[] { int* array2 } |
| |
| %inline %{ |
| void myArraySwapUsingFixedArrays( int* array1, int* array2, int nitems ) { |
| myArraySwap(array1, array2, nitems); |
| } |
| %} |
| |
| |