4 #ifndef PYROOT_PYROOT_H 5 #define PYROOT_PYROOT_H 9 #pragma warning ( disable : 4275 ) 11 #pragma warning ( disable : 4251 ) 13 #pragma warning ( disable : 4800 ) 23 #ifdef _POSIX_C_SOURCE 24 #undef _POSIX_C_SOURCE 27 #ifdef _FILE_OFFSET_BITS 28 #undef _FILE_OFFSET_BITS 42 #if PY_VERSION_HEX < 0x03030000 43 typedef PyDictEntry* (*dict_lookup_func) ( PyDictObject*,
PyObject*,
Long_t );
45 struct PyDictKeyEntry;
46 typedef PyDictKeyEntry* (*dict_lookup_func) ( PyDictObject*,
PyObject*, Py_hash_t,
PyObject*** );
47 #define PyDictEntry PyDictKeyEntry 51 #if PY_VERSION_HEX < 0x03000000 52 #define PyBytes_Check PyString_Check 53 #define PyBytes_CheckExact PyString_CheckExact 54 #define PyBytes_AS_STRING PyString_AS_STRING 55 #define PyBytes_AsString PyString_AsString 56 #define PyBytes_GET_SIZE PyString_GET_SIZE 57 #define PyBytes_Size PyString_Size 58 #define PyBytes_FromFormat PyString_FromFormat 59 #define PyBytes_FromString PyString_FromString 60 #define PyBytes_FromStringAndSize PyString_FromStringAndSize 62 #define PyBytes_Type PyString_Type 64 #define PyROOT_PyUnicode_Check PyString_Check 65 #define PyROOT_PyUnicode_CheckExact PyString_CheckExact 66 #define PyROOT_PyUnicode_AsString PyString_AS_STRING 67 #define PyROOT_PyUnicode_AsStringChecked PyString_AsString 68 #define PyROOT_PyUnicode_GET_SIZE PyString_GET_SIZE 69 #define PyROOT_PyUnicode_GetSize PyString_Size 70 #define PyROOT_PyUnicode_FromFormat PyString_FromFormat 71 #define PyROOT_PyUnicode_FromString PyString_FromString 72 #define PyROOT_PyUnicode_InternFromString PyString_InternFromString 73 #define PyROOT_PyUnicode_Append PyString_Concat 74 #define PyROOT_PyUnicode_AppendAndDel PyString_ConcatAndDel 75 #define PyROOT_PyUnicode_FromStringAndSize PyString_FromStringAndSize 77 #define PyROOT_PyUnicode_Type PyString_Type 81 return PyCObject_FromVoidPtr( cobj, destr );
83 #define PyROOT_PyCapsule_CheckExact PyCObject_Check 86 return (
void*)PyCObject_AsVoidPtr( capsule );
89 #define PYROOT__long__ "__long__" 90 #define PYROOT__idiv__ "__idiv__" 91 #define PYROOT__div__ "__div__" 92 #define PYROOT__next__ "next" 97 #if PY_VERSION_HEX >= 0x03000000 98 #define PyROOT_PyUnicode_Check PyUnicode_Check 99 #define PyROOT_PyUnicode_CheckExact PyUnicode_CheckExact 100 #define PyROOT_PyUnicode_AsString _PyUnicode_AsString 101 #define PyROOT_PyUnicode_AsStringChecked _PyUnicode_AsString 102 #define PyROOT_PyUnicode_GetSize PyUnicode_GetSize 103 #define PyROOT_PyUnicode_GET_SIZE PyUnicode_GET_SIZE 104 #define PyROOT_PyUnicode_FromFormat PyUnicode_FromFormat 105 #define PyROOT_PyUnicode_FromString PyUnicode_FromString 106 #define PyROOT_PyUnicode_InternFromString PyUnicode_InternFromString 107 #define PyROOT_PyUnicode_Append PyUnicode_Append 108 #define PyROOT_PyUnicode_AppendAndDel PyUnicode_AppendAndDel 109 #define PyROOT_PyUnicode_FromStringAndSize PyUnicode_FromStringAndSize 111 #define PyROOT_PyUnicode_Type PyUnicode_Type 113 #define PyIntObject PyLongObject 114 #define PyInt_Check PyLong_Check 115 #define PyInt_AsLong PyLong_AsLong 116 #define PyInt_AS_LONG PyLong_AsLong 117 #define PyInt_AsSsize_t PyLong_AsSsize_t 118 #define PyInt_CheckExact PyLong_CheckExact 119 #define PyInt_FromLong PyLong_FromLong 120 #define PyInt_FromSsize_t PyLong_FromSsize_t 122 #define PyInt_Type PyLong_Type 124 #define PyROOT_PyCapsule_New PyCapsule_New 125 #define PyROOT_PyCapsule_CheckExact PyCapsule_CheckExact 126 #define PyROOT_PyCapsule_GetPointer PyCapsule_GetPointer 128 #define PYROOT__long__ "__int__" 129 #define PYROOT__idiv__ "__itruediv__" 130 #define PYROOT__div__ "__truediv__" 131 #define PYROOT__next__ "__next__" 133 #define Py_TPFLAGS_HAVE_RICHCOMPARE 0 134 #define Py_TPFLAGS_CHECKTYPES 0 136 #define PyClass_Check PyType_Check 138 #define PyBuffer_Type PyMemoryView_Type 141 #if PY_VERSION_HEX >= 0x03020000 142 #define PyROOT_PySliceCast PyObject* 144 #define PyROOT_PySliceCast PySliceObject* 148 #if PY_VERSION_HEX < 0x02060000 149 #define PyVarObject_HEAD_INIT(type, size) \ 150 PyObject_HEAD_INIT(type) size, 151 #define Py_TYPE(ob) (((PyObject*)(ob))->ob_type) 155 #if PY_VERSION_HEX < 0x02050000 157 #define PyInt_AsSsize_t PyInt_AsLong 158 #define PyInt_FromSsize_t PyInt_FromLong 159 # define PY_SSIZE_T_FORMAT "%d" 160 # if !defined(PY_SSIZE_T_MIN) 161 # define PY_SSIZE_T_MAX INT_MAX 162 # define PY_SSIZE_T_MIN INT_MIN 164 #define ssizeobjargproc intobjargproc 165 #define lenfunc inquiry 166 #define ssizeargfunc intargfunc 168 #define PyIndex_Check(obj) \ 169 (PyInt_Check(obj) || PyLong_Check(obj)) 172 return (Py_ssize_t)PyLong_AsLong( obj );
177 # if SIZEOF_SIZE_T == SIZEOF_INT 178 # if defined(MAC_OS_X_VERSION_10_4) 179 # define PY_SSIZE_T_FORMAT "%ld" 181 # define PY_SSIZE_T_FORMAT "%d" 183 # elif SIZEOF_SIZE_T == SIZEOF_LONG 184 # define PY_SSIZE_T_FORMAT "%ld" 187 # define PY_SSIZE_T_FORMAT "%zd" 191 #if PY_VERSION_HEX < 0x02020000 192 #define PyBool_FromLong PyInt_FromLong 195 #if PY_VERSION_HEX < 0x03000000 199 #define Py_False ( (PyObject*)(void*)&_Py_ZeroStruct ) 204 #define Py_True ( (PyObject*)(void*)&_Py_TrueStruct ) 211 #endif // !PYROOT_PYROOT_H
Py_ssize_t PyNumber_AsSsize_t(PyObject *obj, PyObject *)
static void * PyROOT_PyCapsule_GetPointer(PyObject *capsule, const char *)
static PyObject * PyROOT_PyCapsule_New(void *cobj, const char *, void(*destr)(void *))