/trunk/Examples/test-suite/argout.i
# · Swig · 37 lines · 27 code · 7 blank · 3 comment · 0 complexity · b278978afa081ce59be238691fb089ef MD5 · raw file
- /* This interface file checks how well SWIG handles passing data back
- through arguments WITHOUT returning it separately; for the cases where
- maybe multiple values are passed by reference 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;
- }
- %}