MemoryView-objekt

Ett memoryview-objekt exponerar C-nivå buffer interface som ett Python-objekt som sedan kan skickas runt som vilket annat objekt som helst.

PyObject *PyMemoryView_FromObject(PyObject *obj)
Returnera värde: Ny referens. En del av Stabil ABI.

Skapa ett memoryview-objekt från ett objekt som tillhandahåller buffertgränssnittet. Om obj stöder skrivbar buffertexport kommer memoryview-objektet att vara skrivskyddat, annars kan det vara antingen skrivskyddat eller skrivskyddat enligt exportörens bedömning.

PyBUF_READ

Flagga för att begära en skrivskyddad buffert.

PyBUF_WRITE

Flagga för att begära en skrivbar buffert.

PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)
Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.7.

Skapa ett memoryview-objekt med mem som underliggande buffert. flags kan vara en av PyBUF_READ eller PyBUF_WRITE.

Tillagd i version 3.3.

PyObject *PyMemoryView_FromBuffer(const Py_buffer *view)
Returnera värde: Ny referens. En del av Stabil ABI sedan version 3.11.

Skapar ett memoryview-objekt som omsluter den givna buffertstrukturen view. För enkla byte-buffertar är PyMemoryView_FromMemory() den föredragna funktionen.

PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)
Returnera värde: Ny referens. En del av Stabil ABI.

Skapa ett memoryview-objekt till en contiguous bit av minnet (i antingen ’C’- eller ’F’-ortran order) från ett objekt som definierar buffertgränssnittet. Om minnet är sammanhängande pekar memoryview-objektet på originalminnet. Annars görs en kopia och memoryview pekar på ett nytt bytes-objekt.

buffertype kan vara en av PyBUF_READ eller PyBUF_WRITE.

int PyMemoryView_Check(PyObject *obj)

Returnerar true om objektet obj är ett memoryview-objekt. Det är för närvarande inte tillåtet att skapa underklasser av memoryview. Denna funktion lyckas alltid.

Py_buffer *PyMemoryView_GET_BUFFER(PyObject *mview)

Returnerar en pekare till minnesvyns privata kopia av exportörens buffert. mview måste vara en memoryview-instans; detta makro kontrollerar inte dess typ, du måste göra det själv eller så riskerar du krascher.

PyObject *PyMemoryView_GET_BASE(PyObject *mview)

Returnerar antingen en pekare till det exporterande objektet som minnesvyn är baserad på eller NULL om minnesvyn har skapats av någon av funktionerna PyMemoryView_FromMemory() eller PyMemoryView_FromBuffer(). mview måste vara en memoryview-instans.