From: John T. <twi...@ho...> - 2011-05-26 07:21:12
|
Just got Swig working converting some classes from C++ -> C# and I'm loving it! Way to go. First of many questions to come. I'd like to add a portion of code to all the c# classes that I create <See below>. This way I can improve the memory management of the class. I know I can do this with the "%typemap(cscode) Container %{ ...." code but this only works for the 'Container' class and I'd like it to be included in ALL classes. Is there a way I can inject a portion of code into all classes that I wrap? Example code for injection: public IntPtr Data { get { return this.swigCPtr.Handle; } } |
From: John M. <sw...@vo...> - 2011-05-26 15:35:43
|
I think that SWIGTYPE is what you need. When you use this type, it means, "use this typemap if no other type matches". SWIG itself uses this to define the default typemaps. You can see endless examples of its usage in the csharp/csharp.swg. In particular: %typemap(cscode) SWIGTYPE, SWIGTYPE *, SWIGTYPE &, SWIGTYPE [], SWIGTYPE (CLASS::*) "" Here the default %typemap(cscode) is defined to inject nothing. John McGehee http://www.voom.net ----- Original Message ----- > Just got Swig working converting some classes from C++ -> C# and I'm > loving it! Way to go. > First of many questions to come. > I'd like to add a portion of code to all the c# classes that I create > <See below>. > This way I can improve the memory management of the class. > I know I can do this with the "%typemap(cscode) Container %{ ...." > code but this only works for the 'Container' > class and I'd like it to be included in ALL classes. Is there a way I > can inject a portion of code into > all classes that I wrap? > Example code for injection: > public IntPtr Data > { > get > { > return this.swigCPtr.Handle; > } > } > ------------------------------------------------------------------------------ > vRanger cuts backup time in half-while increasing security. > With the market-leading solution for virtual backup and recovery, > you get blazing-fast, flexible, and affordable data protection. > Download your free trial now. > http://p.sf.net/sfu/quest-d2dcopy1 > _______________________________________________ > Swig-user mailing list > Swi...@li... > https://lists.sourceforge.net/lists/listinfo/swig-user |