logo       

Re[2]: Directors and returning by value.: msg#00082

programming.swig

Subject: Re[2]: Directors and returning by value.

Hello Mark,

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

MR> Hi Kerim,

MR> What version of SWIG are you using?
1.3.19

MR> SWIG cvs parses your
MR> interface without any warnings on my machine, and does the
MR> right thing in the python test.
Cool!
Tomorrow I WILL compile cvs version.

MR> 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.
Thanks for clarification and for good news.

Best regards,
Kerim mailto:warkid@xxxxxxxxx


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