static PyObject *Triton_getModel(PyObject *self, PyObject *node) { std::list<Smodel>::iterator it; std::list<Smodel> model; if (!PySmtAstNode_Check(node)) return PyErr_Format(PyExc_TypeError, "getModel(): expected a SmtAstNode as argument"); /* Get model */ model = ap.getModel(PySmtAstNode_AsSmtAstNode(node)); /* Craft the model dictionary */ PyObject *modelDict = xPyDict_New(); for (it = model.begin() ; it != model.end(); it++) PyDict_SetItemString(modelDict, it->getName().c_str(), Py_BuildValue("k", it->getValue())); return modelDict; }