Macro that specializes object_manager_traits by requiring a source-file implementation of get_pytype(). More...
Go to the source code of this file.
Defines | |
#define | NUMPY_OBJECT_MANAGER_TRAITS(manager) |
Macro that specializes object_manager_traits by requiring a source-file implementation of get_pytype().
Definition in file numpy_object_mgr_traits.hpp.
#define NUMPY_OBJECT_MANAGER_TRAITS | ( | manager | ) |
template <> \ struct object_manager_traits<manager> \ { \ BOOST_STATIC_CONSTANT(bool, is_specialized = true); \ static inline python::detail::new_reference adopt(PyObject* x) \ { \ return python::detail::new_reference(python::pytype_check((PyTypeObject*)get_pytype(), x)); \ } \ static bool check(PyObject* x) \ { \ return ::PyObject_IsInstance(x, (PyObject*)get_pytype()); \ } \ static manager* checked_downcast(PyObject* x) \ { \ return python::downcast<manager>((checked_downcast_impl)(x, (PyTypeObject*)get_pytype())); \ } \ static PyTypeObject const * get_pytype(); \ }
Definition at line 14 of file numpy_object_mgr_traits.hpp.