Objets de type MemoryView
*************************

Un objet Python "memoryview" expose le protocole tampon du C. Cet
objet peut ensuite être passé comme n'importe quel objet.

PyObject *PyMemoryView_FromObject(PyObject *obj)
    *Return value: New reference.*

   Crée un objet *memoryview* à partir d'un objet implémentant le
   protocole tampon. Si *obj* permet d'exporter des tampons
   modifiables, l'objet *memoryview* crée acceptera la lecture et
   écriture, sinon l'objet crée est soit en lecture seule ou
   lecture/écriture, à la discrétion de l'*exporteur*.

PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)
    *Return value: New reference.*

   Crée un objet *memoryview* utilisant *mem* comme un tampon sous-
   jacent. *flags* peut être "PyBUF_READ" ou "PyBUF_WRITE".

   Nouveau dans la version 3.3.

PyObject *PyMemoryView_FromBuffer(Py_buffer *view)
    *Return value: New reference.*

   Crée un objet *memoryview* à partir de la structure tampon *view*.
   Pour de simples tampons d'octets, "PyMemoryView_FromMemory()" est
   préférée.

PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)
    *Return value: New reference.*

   Crée un objet *memoryview* vers un segment de mémoire *contiguous*
   (organisé comme en "'C'" ou comme en "'F'" pour Fortran) à partir
   d'un objet qui expose le protocole tampon. Si la mémoire est
   contiguë, l'objet *memoryview* pointe vers la mémoire d'origine.
   Sinon une copie est faite et la *memoryview* pointe vers un nouvel
   objet *bytes*.

int PyMemoryView_Check(PyObject *obj)

   Renvoie vrai si l'objet *obj* est un objet *memoryview*. Il n'est
   pas permis de créer une sous-classe de "memoryview".

Py_buffer *PyMemoryView_GET_BUFFER(PyObject *mview)

   Retourne un pointeur vers la copie privée du tampon de
   l'*exporteur* de *memoryview*. *mview* **doit** être une instance
   de *memoryview*; cette macro ne vérifie pas le type, vous devez le
   faire vous-même sinon vous pourriez subir un crash.

Py_buffer *PyMemoryView_GET_BASE(PyObject *mview)

   Renvoie soit un pointeur vers l'objet exporté sur lequel est basé
   la *memoryview* ou "NULL" si la *memoryview* a été crée par
   "PyMemoryView_FromMemory()" ou "PyMemoryView_FromBuffer()". *mview*
   **doit** être une instance de *memoryview*.
