How to create Python object in C/C++ extension by class name?

Stefan Behnel stefan_ml at behnel.de
Mon Mar 10 10:47:00 CET 2008


Neil.Fang.CN wrote:
> I'm trying to write a C++ extension like this:
> 
> //-----------------------------------------------------------------------
> // C++ code
> class ActorBase
> {...};
> 
> // export ActorBase to Python as a new type
> 
> class ActorManager
> {
>   void addNewActor(const char* actorClassName)
>    {
>       ?????
>    }
> }
> 
> // export ActorManagerto Python as a new type
> //-----------------------------------------------------------------------
> 
> The question is how to implement ActorManger::addNewActor(), I want
> the class name can be a Python class which inherits the C++ class
> ActorBase?

Have you considered writing your extension in Cython?

http://cython.org/

It would allow you to use Python idioms for what you want to achieve.

Stefan



More information about the Python-list mailing list