302ed927597ea1e98ba2c9792106d15212c90ccc
Only a simple class declaration/definition is generated in the "forward declarations" section, while the method bodies are generated later. This avoids problems of the helper class needing to access Python object structures that are going to be defined later. Some refactoring involved to accomplish this.
PyBindGen is (surprise!) a python bindings generator. The main features are: * Is written in clean, PEP 8 compliant, and pylint checked, Python code; * Generates clean C or C++ code, nearly as readable as code written manually by a developer; * Generated code does not require any external libraries or macros; * Does not require Boost.Python (no C++ template magic, also works in C); * The main interface for code generation is a simple Python API, not some obscure interface definition language. Other frontends, such as parsing header files with gccxml, could be added in the future as an additional layer; * Can be easily extended with new type handlers; * Type handlers can allocate memory and register cleanup code to free; * Supports in, out, and inout parameters (e.g. with pointers or C++ references); * Supports multiple return values (e.g. due to out/inout parameters); * Supports wrapping of simple C++ classes; * Supports virtual methods in classes; * Supports reference counted classes and smart pointers; Planned: * Callbacks; * Nicer C++ Enumerations;
Languages
Python
92%
C++
4.9%
C
3%