Neal Becker, 27.08.2010 17:04:
> boost::python is not a code generator. Is is (some of the most twisted,
> obfuscated ever!) native c++ code.
Ah, right. It actually seems to have dedicated code for that in
libs/python/src/object/class.cpp
static PyObject* instance_get_dict(PyObject* op, void*)
{
instance<>* inst = downcast<instance<> >(op);
if (inst->dict == 0)
inst->dict = PyDict_New();
return python::xincref(inst->dict);
}
static int instance_set_dict(PyObject* op, PyObject* dict, void*)
{
instance<>* inst = downcast<instance<> >(op);
python::xdecref(inst->dict);
inst->dict = python::incref(dict);
return 0;
}
}
static PyGetSetDef instance_getsets[] = {
{const_cast<char*>("__dict__"), instance_get_dict,
instance_set_dict, NULL, 0},
{0, 0, 0, 0, 0}
};
Stefan
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev