From: James17 <jam...@gm...> - 2008-12-22 22:48:22
|
What you will need to do is write a typemap to convert a Ruby Fixnum to a boost::any type. I'm not familiar with boost::any, but I just Googled it and it looks like it can store a number of different types. In that case, you will want to write an "in" typemap and will have to write a C++ snippet of code to detect what Ruby type was provided and then make the appropriate type conversion at that point. If you have any overloaded functions that use this type then you will also need to write a "typecheck" typemap. See this URL for more info on typemaps: http://www.swig.org/Doc1.3/Typemaps.html#Typemaps_nn25 And for info on Ruby C type checking and conversion: http://www.rubycentral.com/pickaxe/ext_ruby.html -James Jen Carlile wrote: > > Hi, > > I am doing my first project with both swig and ruby, and I have > encountered > a problem that has me scratching my head... > > > I wrapped a C++ dll for use with ruby. A few of the dll functions have > parameters of the type 'boost::any'. When I call one of these functions > from the irb, I get the following error: > > irb(main):011:0> em.RequestSetGlobalData(MCA::KGLoggingLevel, 2) > TypeError: Expected argument 2 of type boost::any, but got Fixnum 2 > in SWIG method 'RequestSetGlobalData' > from (irb):11:in `RequestSetGlobalData' > from (irb):11 > irb(main):012:0> > > The signature of the c++ function is: > void RequestSetGlobalData(eConferenceAttributes iWhichAttr, boost::any > iValue); > > > Any ideas on how to fix this? Does the idea of casting exist with ruby? > > Thanks so much > > > -Jen Carlile > > ------------------------------------------------------------------------------ > SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, > Nevada. > The future of the web can't happen without you. Join us at MIX09 to help > pave the way to the Next Web now. Learn more and register at > http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ > _______________________________________________ > Swig-user mailing list > Swi...@li... > https://lists.sourceforge.net/lists/listinfo/swig-user > > -- View this message in context: http://www.nabble.com/boost%3A%3Aany-with-ruby%2C-newbie-question-tp20984587p21135611.html Sent from the swig-user mailing list archive at Nabble.com. |