Objetos byte array
******************

PyByteArrayObject

   Esse subtipo de "PyObject" representa um objeto Python bytearray.

PyTypeObject PyByteArray_Type

   Essa instância de "PyTypeObject" representa um tipo Python
   bytearray; é o mesmo objeto que o "bytearray" na camada Python.


Macros para verificação de tipo
===============================

int PyByteArray_Check(PyObject *o)

   Retorna verdadeiro se o objeto *o* for um objeto bytearray ou se
   for uma instância de um subtipo do tipo bytearray. Esta função
   sempre tem sucesso.

int PyByteArray_CheckExact(PyObject *o)

   Retorna verdadeiro se o objeto *o* for um objeto bytearray, mas não
   uma instância de um subtipo do tipo bytearray. Esta função sempre
   tem sucesso.


Funções diretas da API
======================

PyObject* PyByteArray_FromObject(PyObject *o)
    *Return value: New reference.*

   Retorna um novo objeto bytearray, *o*, que implementa o protocolo
   de buffer.

PyObject* PyByteArray_FromStringAndSize(const char *string, Py_ssize_t len)
    *Return value: New reference.*

   Cria um novo objeto bytearray a partir de *string* e seu
   comprimento, *len*. Em caso de falha, "NULL" é retornado.

PyObject* PyByteArray_Concat(PyObject *a, PyObject *b)
    *Return value: New reference.*

   Concatena os bytearrays *a* e *b* e retorna um novo bytearray com o
   resultado.

Py_ssize_t PyByteArray_Size(PyObject *bytearray)

   Retorna o tamanho de *bytearray* após verificar se há um ponteiro
   "NULL".

char* PyByteArray_AsString(PyObject *bytearray)

   Retorna o conteúdo de *bytearray* como uma matriz de caracteres
   após verificar um ponteiro "NULL". O array retornado sempre tem um
   byte nulo extra acrescentado.

int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)

   Redimensiona o buffer interno de *bytearray* para o tamanho *len*.


Macros
======

Estas macros trocam segurança por velocidade e não verificam os
ponteiros.

char* PyByteArray_AS_STRING(PyObject *bytearray)

   Versão macro de "PyByteArray_AsString()".

Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)

   Versão macro de "PyByteArray_Size()".
