From: William S F. <ws...@fu...> - 2011-01-14 19:08:02
|
On 10/01/11 09:09, Volker Grabsch wrote: > William S Fulton schrieb: >> Here you have used a >> typemap where you could just use a macro instead. I suggest you use the >> approach used in arrays_java.i and change your macro to take an >> additional parameter like this: >> >> %define·SWIG_STD_VECTOR_ENHANCED(CTYPE, JAVATYPE) >> >> and use it like this: >> >> SWIG_STD_VECTOR_ENHANCED(bool, Boolean) > > Thanks for your advice. > > However, I'm somewhat confused, because this is _exactly_ what I > did in my first proposal, where you told me to use typemaps instead. > I guess I simply misunderstood your first advice. > That was probably just me not fully comprehending that you have to use boxed types like Integer instead of int in places, sorry. > Anyway, I just changed my code back to its original style, using > two macros, one for the common case and one for the primitive types: > > SWIG_STD_VECTOR_ENHANCED(std::string) > SWIG_STD_VECTOR_ENHANCED_PRIMITIVE(bool, Boolean) > In my original reply, I was hoping you'd use the approach used in the C# version, where you provide template specializations of std::vector for the primitive types. If you can provide a java version of li_std_vector_runme.cs, I'd consider this job done but I think there is a chunk of missing functionality, for example, I'd expect a good implementation to implement the Collection<> and List<> interfaces. William |