[C++-sig] Improved pyste

Niall Douglas s_sourceforge at nedprod.com
Tue Jun 7 19:01:32 CEST 2005


(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






More information about the Cplusplus-sig mailing list