[C++-sig] pyste defect: expanding typedefs in generated code

Nicodemus nicodemus at esss.com.br
Mon May 31 01:08:53 CEST 2004


Hi Paul,

paul.bridger wrote:

> I've come across a problem with code similar to this:
>
> /* Foo.h */
> class Foo
> {
> private:
>     struct Bar {...};
> public:
>     typedef std::vector<Bar> BarList;
> };
>
> /* MeepMeep.h */
> class MeepMeep
> {
> public:
>     void f(const BarList&);
> };
>
>
> When generating wrappers for MeepMeep using Pyste I get access errors 
> because Pyste expands the BarList typedef to std::vector<Bar>:
>
> struct MeepMeep_Wrapper: MeepMeep
> {
>     void f(const std::vector<Foo::Bar,std::allocator<Foo::Bar> >& p0)
> };
>
>
> I cannot suggest a fix because I am not familiar with Pystes innards. 
> What is a shame about this defect is that the workaround requires me 
> to violate one of boost::python's goals of being non-invasive (I must 
> change a private to a public identifier in target code).


Actually, I believe that now GCCXML exports the declarated type of a 
typedef, instead of the expanded name. If that's true, only the file 
declarations.py must be changed, and little at that.

> Is Pyste still under active development? I'm not impatient, just 
> curious. If Pyste is short of active developers I could try to work 
> out a fix for this <cringes>.


It is sorta on hold on new features, mostly because I lack time right 
now. But I try my best to find time to fix bugs and apply patches, which 
are always welcome. ;)

Regards,
Nicodemus.




More information about the Cplusplus-sig mailing list