Вернуть массив Numpy с Boost и связать время жизни с классом C ++ - PullRequest
0 голосов
/ 15 ноября 2018

Следующий класс

class A {
    std::unique_ptr<float []> array;
    size_t size;
};

может быть предоставлен для python с помощью

using namespace boost::python;
namespace np = boost::python::numpy;

/* ... */

class_<A>("A")
    .add_property("array", +[](A& a) {
        auto shape = make_tuple(a.size);
        auto strides = make_tuple(sizeof(float));
        return np::from_data(a.get(), shape, strides, object());
    });

Вместо создания нового object, как я могу установить владельца для обернутого класса pythona?

...