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
37
Examples/test-suite/argout.i
Normal file
37
Examples/test-suite/argout.i
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
/* This interface file checks how well SWIG handles passing data back
|
||||
through arguments WITHOUT returning it seperatly; for the cases where
|
||||
maybe multiple values are passed by refernce and all want changing */
|
||||
|
||||
%module argout
|
||||
|
||||
%include cpointer.i
|
||||
%pointer_functions(int,intp);
|
||||
|
||||
%inline %{
|
||||
// returns old value
|
||||
int incp(int *value) {
|
||||
return (*value)++;
|
||||
}
|
||||
|
||||
// returns old value
|
||||
int incr(int &value) {
|
||||
return value++;
|
||||
}
|
||||
|
||||
typedef int & IntRef;
|
||||
// returns old value
|
||||
int inctr(IntRef value) {
|
||||
return value++;
|
||||
}
|
||||
|
||||
// example of the old DB login type routines where you keep
|
||||
// a void* which it points to its opaque struct when you login
|
||||
// So login function takes a void**
|
||||
void voidhandle(void** handle) {
|
||||
*handle=(void*)"Here it is";
|
||||
}
|
||||
char * handle(void* handle) {
|
||||
return (char *)handle;
|
||||
}
|
||||
|
||||
%}
|
||||
Loading…
Add table
Add a link
Reference in a new issue