git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10872 626c5289-ae23-0410-ae9c-e8d60b6d4f22
42 lines
910 B
OpenEdge ABL
42 lines
910 B
OpenEdge ABL
/* File : example.i */
|
|
%module example
|
|
|
|
%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);
|
|
}
|
|
%}
|
|
|
|
|