numpy  2.0.0
src/multiarray/numpymemoryview.h
Go to the documentation of this file.
00001 #ifndef _NPY_PRIVATE_NUMPYMEMORYVIEW_H_
00002 #define _NPY_PRIVATE_NUMPYMEMORYVIEW_H_
00003 
00004 /*
00005  * Memoryview is introduced to 2.x series only in 2.7, so for supporting 2.6,
00006  * we need to have a minimal implementation here.
00007  */
00008 #if (PY_VERSION_HEX >= 0x02060000) && (PY_VERSION_HEX < 0x02070000)
00009 
00010 typedef struct {
00011     PyObject_HEAD
00012     PyObject *base;
00013     Py_buffer view;
00014 } PyMemorySimpleViewObject;
00015 
00016 NPY_NO_EXPORT PyObject *
00017 PyMemorySimpleView_FromObject(PyObject *base);
00018 
00019 #define PyMemorySimpleView_GET_BUFFER(op) (&((PyMemorySimpleViewObject *)(op))->view)
00020 
00021 #define PyMemoryView_FromObject PyMemorySimpleView_FromObject
00022 #define PyMemoryView_GET_BUFFER PyMemorySimpleView_GET_BUFFER
00023 
00024 #endif
00025 
00026 NPY_NO_EXPORT int
00027 _numpymemoryview_init(PyObject **typeobject);
00028 
00029 #endif