Hi Alex,
So, cpp_class acts as a container for python objects, and it does not need to know what kind of object is inside. I was able to make it work with pypy through basic C API, using SWIG and typemaps by mapping void* into PyObject*, but that is somewhat hackish. I am now thinking how would the same logic look with cppyy extension.
this should be supported directly (PyROOT does), but where in CPython handing a PyObject* is trivial, in PyPy one has to be created. My best guess is that the route would be cpyext to get such a PyObject*, then hand that over. I don't think it can be hacked around (a void* argument will peel the contained C++ object, which will fail, since it's a real Python object). Identity preservation (on the return) should be easy, and the C++ side should keep the refcount up for the proper duration. Let me figure that one out. Is as good a reason as any to have some fun and do some coding again for the first time in weeks. :P
PS: building cppyy is pain in the ass... You guys seriously need to think about build logs =)
Sorry (but this is why at CERN we have a global file system (afs) and simply install there for all users :) ) ... So, is there anything in the instructions that was missing and needs to be added? Best regards, Wim -- wlavrij...@lbl.gov -- +1 (510) 486 6411 -- www.lavrijsen.net _______________________________________________ pypy-dev mailing list pypy-dev@python.org http://mail.python.org/mailman/listinfo/pypy-dev