| 64 | friend wrap_t; |
| 65 | |
| 66 | inline static TraceKeyWrapper* cast(PyObject* obj) { |
| 67 | return reinterpret_cast<wrap_t*>(obj)->inst(); |
| 68 | } |
| 69 | inline static TraceKeyWrapper* try_cast(PyObject* obj) { |
| 70 | if (obj == NULL || !wrap_t::type().isinstance(obj)) |
| 71 | return nullptr; |