| 149 | static Py_hash_t tp_hash(PyObject* obj); |
| 150 | static PyObject* tp_richcompare(PyObject* self, PyObject* other, int op); |
| 151 | static PyObject* py_repr(PyObject* self) { |
| 152 | return py::cast(reinterpret_cast<PyOpDef*>(self)->op->make_name()) |
| 153 | .release() |
| 154 | .ptr(); |
| 155 | } |
| 156 | }; |
| 157 | PyTypeObject PyOpType(OpDef); |
| 158 | std::unordered_map<mgb::Typeinfo*, PyTypeObject*> PyOp(OpDef)::ctype2pytype; |