• Wenzel Jakob's avatar
    Permit creation of NumPy arrays with a "base" object that owns the data · 369e9b39
    Wenzel Jakob authored
    This patch adds an extra base handle parameter to most ``py::array`` and
    ``py::array_t<>`` constructors. If specified along with a pointer to
    data, the base object will be registered within NumPy, which increases
    the base's reference count. This feature is useful to create shallow
    copies of C++ or Python arrays while ensuring that the owners of the
    underlying can't be garbage collected while referenced by NumPy.
    
    The commit also adds a simple test function involving a ``wrap()``
    function that creates shallow copies of various N-D arrays.
    369e9b39
test_numpy_array.cpp 3.99 KB