The cppyy module provides C++ bindings for PyPy by using the reflection
information extracted from C++ header files by means of the
-For this to work, you have to both install Reflex and build PyPy from the
+For this to work, you have to both install Reflex and build PyPy from source,
+as the cppyy module is not enabled by default.
+Note that the development version of cppyy lives in the reflex-support
As indicated by this being a branch, support for Reflex is still
However, it is functional enough to put it in the hands of those who want
.. _`recent snapshot`: http://cern.ch/wlav/reflex-2012-05-02.tar.bz2
.. _`gccxml`: http://www.gccxml.org
-Next, get the `PyPy sources`_, select the reflex-support branch, and build.
+Next, get the `PyPy sources`_, optionally select the reflex-support branch,
For the build to succeed, the ``$ROOTSYS`` environment variable must point to
the location of your ROOT (or standalone Reflex) installation, or the
``root-config`` utility must be accessible through ``PATH`` (e.g. by adding
$ hg clone https://bitbucket.org/pypy/pypy
+ $ hg up reflex-support
$ cd pypy/translator/goal
$ python translate.py -O jit --gcrootfinder=shadowstack targetpypystandalone.py --withmod-cppyy
The C++ side will not see any overridden methods on the python side, as
cross-inheritance is planned but not yet supported.
+* **memory**: C++ instances created by calling their constructor from python
+ You can check/change the ownership with the _python_owns flag that every
+ bound instance carries.
* **methods**: Are represented as python methods and work as expected.
They are first class objects and can be bound to an instance.
Virtual C++ methods work as expected.