From: David P. <dpi...@me...> - 2009-09-17 16:47:08
|
%typemap(*) char doesn't work because you are wrapping vector<char>, not char. As far as typemaps are concerned, there is no relationship between the two. This probably won't work, but (if you don't mind that EVERY vector<char> would be wrapped as a list of bytes) you could try SWIG_STD_VECTOR_SPECIALIZE_MINIMUM(byte, char) %template(ByteVector) std::vector<char>; Come to think of it, maybe the typemaps you wrote below would help make the above work, but I don't have time to experiment personally. > Hello everyone! I am having a little issue I would like to share with > you. > > When I wrap a std::vector<char> to C#, the wrapper generates a > container with C#'s char elements, but I need them to be C# bytes. > > I am using the following code to generate the wrapper: > %template(CharList) std::vector<char>; > > I have tried to use the following typemap before the vector > declaration with no success: > > %typemap(ctype) char "char" > %typemap(imtype) char "byte" > %typemap(cstype) char "byte" > %typemap(csin) char "(byte)$csinput" > %typemap(csout, excode=SWIGEXCODE) char { return (byte)($imcall); } > %typemap(csvarout) char %{ get { return (byte)($imcall); } %} > %typemap(out) char %{ $result = (char)$1; %} > > Can anyone point me in the right direction? > > Thanks in advance, > Juan M. > > ----------------------------------------------------------------------- > ------- > Come build with us! The BlackBerry® Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9-12, 2009. Register > now! > http://p.sf.net/sfu/devconf > _______________________________________________ > Swig-user mailing list > Swi...@li... > https://lists.sourceforge.net/lists/listinfo/swig-user |