| 1970 | } |
| 1971 | |
| 1972 | inline void xlabel(const std::string &str, const std::map<std::string, std::string> &keywords = {}) |
| 1973 | { |
| 1974 | detail::_interpreter::get(); |
| 1975 | |
| 1976 | PyObject* pystr = PyString_FromString(str.c_str()); |
| 1977 | PyObject* args = PyTuple_New(1); |
| 1978 | PyTuple_SetItem(args, 0, pystr); |
| 1979 | |
| 1980 | PyObject* kwargs = PyDict_New(); |
| 1981 | for (auto it = keywords.begin(); it != keywords.end(); ++it) { |
| 1982 | PyDict_SetItemString(kwargs, it->first.c_str(), PyUnicode_FromString(it->second.c_str())); |
| 1983 | } |
| 1984 | |
| 1985 | PyObject* res = PyObject_Call(detail::_interpreter::get().s_python_function_xlabel, args, kwargs); |
| 1986 | if(!res) throw std::runtime_error("Call to xlabel() failed."); |
| 1987 | |
| 1988 | Py_DECREF(args); |
| 1989 | Py_DECREF(kwargs); |
| 1990 | Py_DECREF(res); |
| 1991 | } |
| 1992 | |
| 1993 | inline void ylabel(const std::string &str, const std::map<std::string, std::string>& keywords = {}) |
| 1994 | { |
nothing calls this directly
no outgoing calls
no test coverage detected