From: David P. <dpi...@me...> - 2010-12-13 16:02:01
|
By default, Swig does not support passing by reference. Personally, I add this ability with the following SWIG code (ABOVE your function declaration): %include "typemaps.i" %define %standard_byref_params(TYPE) %apply TYPE& INOUT { TYPE& }; %apply TYPE& OUTPUT { TYPE& result }; %enddef %standard_byref_params(bool) %standard_byref_params(signed char) %standard_byref_params(unsigned char) %standard_byref_params(short) %standard_byref_params(unsigned short) %standard_byref_params(int) %standard_byref_params(unsigned int) %standard_byref_params(long) %standard_byref_params(unsigned long) %standard_byref_params(long long) %standard_byref_params(unsigned long long) %standard_byref_params(float) %standard_byref_params(double) This code uses "ref" parameters for primitive types passed by reference "&" in C++, and "out" parameters if the argument is named "result". From: sus...@gm... [mailto:sus...@gm...] Sent: Monday, December 13, 2010 6:39 AM To: swi...@li... Subject: [Swig-user] bool pass by refernce Hi, I'm new to SWIG. I have a simple c++ function what I want to wrap in to C# void Hello_Test(bool &var); for this SWIG is generating for C# code void Hello_Test(SWIGTYPE_p_bool var) ; but i'm expecting : void Hello_Test(ref var) ; Can some one please provides a simple example of how to achieve this. Thanks |