From: Xu, Z. <zho...@no...> - 2009-02-19 03:41:05
|
Nathan, You can use these: %include "typemaps.i" %apply float & OUTPUT { float &x }; %apply float & OUTPUT { float &y }; %apply float & OUTPUT { float &z }; Best Regards, Milo -----Original Message----- From: Mr. Nathan [mailto:na...@te...] Sent: 2009年2月18日 3:18 To: swi...@li... Subject: [Swig-user] passing primitive types and enums by reference in java I'd like to wrap a series of get() functions that write the requested information into an argument passed into it by reference. The return value is reserved for state and error code information. This appears to work for class types, but fails with enums and primitive types. For example, see the following C++ code: //this works bool GetPoint(Point & pt); //but this doesn't bool GetPoint(float &x, float &y, float &z); In reading the documentation I came across this line which made me a bit concerned, "Since most Java primitive types are immutable and are passed by value, it is not possible to perform in-place modification of a type passed as a parameter." Is there a recommended way to skirt this problem? In some of our old wrapper code we use arrays of primitives to bump them up to reference types. It also seems like generating wrapper classes for primitives might work. However, each of these approaches has its own drawbacks. Using arrays forces programmers to use a rather unnatural syntax. While wrapper classes would require wrapping of all primitive types and make enum comparison cumbersome. I'm sure I'm not the first person to encounter this problem. Is there a standard solution? Should I accept one of the above possibilities, or just suck it up and rewrite the interface to return the value directly? Thanks in advance, .-=/|N|¥=-. -- View this message in context: http://www.nabble.com/passing-primitive-types-and-enums-by-reference-in-java-tp22064230p22064230.html Sent from the swig-user mailing list archive at Nabble.com. ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ Swig-user mailing list Swi...@li... https://lists.sourceforge.net/lists/listinfo/swig-user This e-mail (including any attachments) is confidential, may contain proprietary or privileged information and is intended for the named recipient(s) only. Unintended recipients are prohibited from taking action on the basis of information in this e-mail and must delete all copies. Nomura will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code in, this e-mail. If verification is sought please request a hard copy. Any reference to the terms of executed transactions should be treated as preliminary only and subject to formal written confirmation by Nomura. Nomura reserves the right to monitor e-mail communications through its networks (in accordance with applicable laws). No confidentiality or privilege is waived or lost by Nomura by any mistransmission of this e-mail. Any reference to "Nomura" is a reference to any entity in the Nomura Holdings, Inc. group. Please read our Electronic Communications Legal Notice which forms part of this e-mail: http://www.Nomura.com/email_disclaimer.htm |