| 3414 | |
| 3415 | template<class Ty> |
| 3416 | Ty* checkType(PyObject* obj, const char* errorMsg = nullptr) |
| 3417 | { |
| 3418 | auto* ptr = py::TypeWrapper<Ty>::obj; |
| 3419 | if (!ptr) |
| 3420 | { |
| 3421 | throw TypeError{ "type not found in module" }; |
| 3422 | } |
| 3423 | if (!PyObject_TypeCheck(obj, ptr)) |
| 3424 | { |
| 3425 | if (errorMsg) throw TypeError{ errorMsg }; |
| 3426 | else return nullptr; |
| 3427 | } |
| 3428 | return (Ty*)obj; |
| 3429 | } |
| 3430 | |
| 3431 | template<class Ty> |
| 3432 | py::UniqueCObj<Ty> checkType(py::UniqueObj obj, const char* errorMsg = nullptr) |