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

PyByteArrayObject

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

PyTypeObject PyByteArray_Type

   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)
    *Return value: New reference.*

   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)
    *Return value: New reference.*

   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)
    *Return value: New reference.*

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

Py_ssize_t PyByteArray_Size(PyObject *bytearray)

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

char* PyByteArray_AsString(PyObject *bytearray)

   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)

   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)

   Version macro de "PyByteArray_AsString()".

Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)

   Version macro de "PyByteArray_Size()".
