init.h 415 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #define PY_SSIZE_T_CLEAN
  3. #include <Python.h>
  4. #include "ptr.h"
  5. namespace NPyBind {
  6. #if PY_MAJOR_VERSION >= 3
  7. #define PYBIND_MODINIT(name) PyMODINIT_FUNC PyInit_##name()
  8. inline PyObject* ModInitReturn(TPyObjectPtr&& modptr) {
  9. return modptr.Release();
  10. }
  11. #else
  12. #define PYBIND_MODINIT(name) PyMODINIT_FUNC init##name()
  13. inline void ModInitReturn(TPyObjectPtr&&) {
  14. }
  15. #endif
  16. }