[C++-sig] Improved pyste

Eric cppsig-eric at sneakemail.com
Tue Jun 7 22:50:24 CEST 2005


Wow, can't wait to try this out. I had a question:

> * Added new SplitOutput() directive which can split output into 
> multiple files, thus avoiding MSVC's "internal structure overflow" 
> error. Note that the implementation of this is pretty hacky

Can you say a bit more about how this works? 



> -----Original Message-----
> From: c++-sig-bounces at python.org [mailto:c++-sig-bounces at python.org]On
> Behalf Of Niall Douglas s_sourceforge-at-nedprod.com |cppsig|
> Sent: Tuesday, June 07, 2005 10:02 AM
> To: ......................
> Subject: [C++-sig] Improved pyste
> 
> 
> (The file is at http://www.nedprod.com/Pyste.zip as it seems you 
> can't post attachments here)
> 
> Enclosed is a further improved version of pyste over the one I sent 
> some months ago. This is from the pyste in v1.32. Here are the 
> changes:
> 
> * Overloads were being declared multiply per code unit if they 
> applied to each class, now they are output only once
> 
> * friend functions of classes which overload weren't being 
> distinguished between by casting (fixed by brute force casting all 
> functions)
> 
> * Outputs things missing a policy to a file for more easier browsing
> 
> * Fixed a bug where it was missing "artificial" copy constructors ie;
> ones generated by the compiler
> 
> * Got AllFromHeader() to maintain a list of things it exported so the
> pyste file can know what policies to apply. This is very much a hack 
> and would conflict with anything in the header file called "exporter"
> 
> * Fixed AllFromHeader() breaking application of bases<> to class 
> definitions
> 
> * Added new SplitOutput() directive which can split output into 
> multiple files, thus avoiding MSVC's "internal structure overflow" 
> error. Note that the implementation of this is pretty hacky
> 
> This is in addition to the previous enhancements:
> 
> * Support for void* by casting to void_* and treating it as an opaque
> pointer. This is a major new feature for wrapping most code.
> 
> * Prevents the problem of throw() specifiers confusing Boost.Python 
> by casting them off
> 
> * Passing of gccxml errors out so you can see what's confusing 
> GCC/GCCXML (handy when you develop primarily with MSVC)
> 
> * Protected virtual methods are no longer wrapped as there were 
> access problems. I've had similar problems with protected 
> inheritance.
> 
> Cheers,
> Niall
> 
> 
> 
> _______________________________________________
> C++-sig mailing list
> C++-sig at python.org
> http://mail.python.org/mailman/listinfo/c++-sig
> 



More information about the Cplusplus-sig mailing list