mercredi 2 août 2017

How to cast/convert a python function to std::function

I am using pybind11 to implement binds for my c++ project. So, my problem is basically how to define a python function in the interpreter and call it from the C++ code. The C++ interface passes data using a pointer (double*) and I don't know how to code the function in the interpreter and how to convert it for a std::function to perform the evaluation:

// C++
//--------
double cpp_call( const std::array<double,N> &value, const std::function<double(double*)> &func) 
{
    return func(value.data());
}

// python binding with pybind11
// module definition... 
 ...
 m.def("py_call", &cpp_call);

//python interpreter 
//-------------------

?

Please, could someone give some tip to me ?

Aucun commentaire:

Enregistrer un commentaire