Objetos MemoryView¶
Um objeto de memoryview
expõe a interface de buffer a nível de C como um objeto Python que pode ser passado como qualquer outro objeto.
-
PyObject *
PyMemoryView_FromObject
(PyObject *obj)¶ Cria um objeto de memoryview a partir de um objeto que fornece a interface do buffer. Se obj tiver suportea exportações de buffer graváveis, o objeto memoryview será de leitura/gravação; caso contrário, poderá ser somente leitura ou leitura/gravação, a critério do exportador.
-
PyObject *
PyMemoryView_FromMemory
(char *mem, Py_ssize_t size, int flags)¶ Cria um objeto de memoryview usando mem como o buffer subjacente. flags pode ser um dos seguintes
PyBUF_READ
ouPyBUF_WRITE
.Novo na versão 3.3.
-
PyObject *
PyMemoryView_FromBuffer
(Py_buffer *view)¶ Cria um objeto de memoryview envolvendo a estrutura de buffer view fornecida. Para buffers de bytes simples,
PyMemoryView_FromMemory()
é a função preferida.
-
PyObject *
PyMemoryView_GetContiguous
(PyObject *obj, int buffertype, char order)¶ Cria um objeto de memoryview para um pedaço contiguous de memória (na ordem ‘C’ ou ‘F’ortran, representada por order) a partir de um objeto que define a interface do buffer. Se a memória for contígua, o objeto de memoryview apontará para a memória original. Caso contrário, é feita uma cópia e a visualização da memória aponta para um novo objeto de bytes.
-
int
PyMemoryView_Check
(PyObject *obj)¶ Retorna true se o objeto obj for um objeto de memoryview. Atualmente, não é permitido criar subclasses de
memoryview
.
-
Py_buffer *
PyMemoryView_GET_BUFFER
(PyObject *mview)¶ Retorna um ponteiro para a cópia privada da memória do buffer do exportador. mview deve ser uma instância de memoryview; Se essa macro não verificar seu tipo, faça você mesmo ou corre o risco de travar.
-
Py_buffer *
PyMemoryView_GET_BASE
(PyObject *mview)¶ Return either a pointer to the exporting object that the memoryview is based on or NULL if the memoryview has been created by one of the functions
PyMemoryView_FromMemory()
orPyMemoryView_FromBuffer()
. mview must be a memoryview instance.