[C++-sig] Pyplusplus - anonymous union
Roman Yakovenko
roman.yakovenko at gmail.com
Thu Jul 20 19:21:14 CEST 2006
On 7/20/06, Jan Langer <jan at langernetz.de> wrote:
> Hello,
> I'm using pyplusplus to generate python-bindings for a C API.
mb = module_builder_t( ... )
#The code in subversion does it for you
mb.classes( name='' ).exclude()
Next code is copied from Python-OGRE bindings:
def fix_unnamed_classes (mb):
ogre_ns = mb.namespace ('Ogre')
print len (ogre_ns.classes ('')) / 2
for unnamed_cls in ogre_ns.classes( '' ):
named_parent = unnamed_cls.parent
if not named_parent.name:
named_parent = named_parent.parent
for mvar in unnamed_cls.public_members:
if not mvar.name:
continue
if declarations.is_array (mvar.type):
template = '''def_readonly("%(mvar)s",
&Ogre::%(parent)s::%(mvar)s)'''
else:
template = '''def_readwrite("%(mvar)s",
&Ogre::%(parent)s::%(mvar)s)'''
named_parent.add_code( template % dict( mvar=mvar.name,
parent=named_parent.name ) )
This should work.
P.S. You project is 3rd project that need this feature, may be this is a time
to implement it :-)
--
Roman Yakovenko
C++ Python language binding
http://www.language-binding.net/
More information about the Cplusplus-sig
mailing list