logo       

Re[2]: Directors and passing args by value.: msg#00098

programming.swig

Subject: Re[2]: Directors and passing args by value.

Hello.

I've checked CVS version and now it seems that directors aren't
generated for methods with args passed by value. Any plans to
support it?

Best regards,
Kerim mailto:warkid@xxxxxxxxx

Thursday, November 13, 2003, 8:16:02 PM, you wrote:

MR> Hi Kerim,

MR> What version of SWIG are you using? SWIG cvs parses your
MR> interface without any warnings on my machine, and does the
MR> right thing in the python test. Note that if you ever get
MR> warning 461, SWIG will not generate any director stubs for
MR> the method. So the result you get in your Python test is
MR> understandable, and the only question is what is causing the
MR> warning.

MR> Cheers,
MR> Mark


MR> On Thu, Nov 13, 2003 at 05:55:55PM +0300, Kerim Borchaev wrote:
>> Hello swig,
>>
>> SWIG doesn't wrap for directors methods that return objects by
>> value?
>>
>> This code:
>> //main.i
>> %module(directors="1") test
>>
>> %feature("director");
>> %inline %{
>> struct D{
>> int value;
>> };
>>
>> struct C{
>> virtual ~C(){}
>> virtual D method(){
>> D d;
>> d.value = 7;
>> return d;
>> }
>> };
>>
>> int getValue(C&o){
>> D d = o.method();
>> return d.value;
>> }
>> %}
>> //////////////////////////
>>
>> Produces this warning:
>>
>> main.i:29: Warning(461): Unable to return type D in director method
>> C::method (s
>> kipping method).
>>
>> And works like this:
>>
>> Python 2.3.2 (#49, Oct 2 2003, 20:02:00) [MSC v.1200 32 bit (Intel)] on
>> win32
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> import test
>> >>> from test import *
>> >>> class Derived(C):
>> ... def method(self):
>> ... d = D()
>> ... d.value = 13
>> ... return d
>> ...
>> >>> getValue(Derived())#should return 13
>> 7
>>
>>
>>
>> Best regards,
>> Kerim mailto:warkid@xxxxxxxxx
>>
>>
>> _______________________________________________
>> Swig maillist - Swig@xxxxxxxxxxxxxxx
>> http://mailman.cs.uchicago.edu/mailman/listinfo/swig


_______________________________________________
Swig maillist - Swig@xxxxxxxxxxxxxxx
http://mailman.cs.uchicago.edu/mailman/listinfo/swig



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise