6 #ifndef KNOWROB_PY_UTILS_H
7 #define KNOWROB_PY_UTILS_H
9 #include <boost/python.hpp>
17 template<
typename R,
typename... Args> R
call_method(PyObject *
self,
const char *method, Args... args) {
19 return boost::python::call_method<R>(
self, method, boost::python::object(args)...);
20 }
catch(
const boost::python::error_already_set&) {
32 }
catch(
const boost::python::error_already_set&) {
52 :
self_(std::move(self)) {}
56 self_ = boost::python::object();
65 boost::python::object
self_;
PyObj_wrap(boost::python::object self)
boost::python::object self_
FunctionRule & function()
std::string addToSysPath(const std::filesystem::path &modulePath)
R call_with_gil(const std::function< R()> &goal)
R call(const std::function< R()> &goal)
std::string resolveModulePath(std::string_view modulePath)
R call_method(PyObject *self, const char *method, Args... args)