Objets tableau d'octets
***********************

type PyByteArrayObject

   Ce sous-type de "PyObject" représente un objet "bytearray" Python.

PyTypeObject PyByteArray_Type
    * Part of the Stable ABI.*

   Cette instance de "PyTypeObject" représente le type Python
   *bytearray*, c'est le même que "bytearray" côté Python.


Macros de vérification de type
==============================

int PyByteArray_Check(PyObject *o)

   Renvoie vrai si l'objet *o* est un "bytearray" ou une instance d'un
   sous-type du type "bytearray". Cette méthode réussit toujours.

int PyByteArray_CheckExact(PyObject *o)

   Renvoie vrai si l'objet *o* est un "bytearray", mais pas une
   instance d'un sous-type du type "bytearray". Cette méthode réussit
   toujours.


Fonctions directes sur l'API
============================

PyObject *PyByteArray_FromObject(PyObject *o)
    *Valeur de retour : nouvelle référence.** Part of the Stable ABI.*

   Renvoie un nouvel objet *bytearray* depuis n'importe quel objet,
   *o*, qui implémente le protocole buffer.

PyObject *PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)
    *Valeur de retour : nouvelle référence.** Part of the Stable ABI.*

   Crée un nouvel objet "bytearray" à partir d'un objet *string* et de
   sa longueur, *len*. En cas d'échec, "NULL" est renvoyé.

PyObject *PyByteArray_Concat(PyObject *a, PyObject *b)
    *Valeur de retour : nouvelle référence.** Part of the Stable ABI.*

   Concatène les "bytearrays" *a* et *b* et renvoie un nouveau
   "bytearray" avec le résultat.

Py_ssize_t PyByteArray_Size(PyObject *bytearray)
    * Part of the Stable ABI.*

   Renvoie la taille de *bytearray* après vérification de la présence
   d'un pointeur "NULL".

char *PyByteArray_AsString(PyObject *bytearray)
    * Part of the Stable ABI.*

   Renvoie le contenu de *bytearray* sous forme d'un tableau de
   caractères, en vérifiant que ce n'est pas un pointeur "NULL". Le
   tableau renvoyé a toujours un caractère *null* rajouté.

int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)
    * Part of the Stable ABI.*

   Redimensionne le tampon interne de *bytearray* à la taille *len*.


Macros
======

Ces macros sont taillées pour la vitesse d'exécution et ne vérifient
pas les pointeurs.

char *PyByteArray_AS_STRING(PyObject *bytearray)

   Similar to "PyByteArray_AsString()", but without error checking.

Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)

   Similar to "PyByteArray_Size()", but without error checking.
