[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