Objek Byte Array
****************

PyByteArrayObject

   Subtipe dari "PyObject" ini mewakili objek bytearray Python.

PyTypeObject PyByteArray_Type

   Instance dari "PyTypeObject" mewakili tipe bytearray Python; itu
   adalah objek yang sama dengan "bytearray" di lapisan Python.


Makro cek tipe
==============

int PyByteArray_Check(PyObject *o)

   Return true if the object *o* is a bytearray object or an instance
   of a subtype of the bytearray type.

int PyByteArray_CheckExact(PyObject *o)

   Return true if the object *o* is a bytearray object, but not an
   instance of a subtype of the bytearray type.


Fungsi API langsung
===================

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

   Mengembalikan objek bytearray baru dari objek apa pun, *o*, yang
   mengimplementasikan buffer protocol.

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

   Membuat objek bytearray baru dari *string* dan panjangnya, *len*.
   Jika gagal, "NULL" dikembalikan.

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

   Menyatukan bytearrays *a* dan *b* dan mengembalikan bytearray baru
   dengan hasilnya.

Py_ssize_t PyByteArray_Size(PyObject *bytearray)

   Mengembalikan ukuran *bytearray* setelah memeriksa pointer "NULL".

char* PyByteArray_AsString(PyObject *bytearray)

   Mengembalikan konten *bytearray* sebagai array karakter setelah
   memeriksa pointer "NULL". Array yang dikembalikan selalu memiliki
   byte null ekstra yang ditambahkan.

int PyByteArray_Resize(PyObject *bytearray, Py_ssize_t len)

   Mengubah ukuran buffer internal *bytearray* menjadi *len*.


Makro
=====

Makro ini menukar keamanan dengan kecepatan dan tidak memeriksa
pointer.

char* PyByteArray_AS_STRING(PyObject *bytearray)

   Versi makro dari "PyByteArray_AsString()".

Py_ssize_t PyByteArray_GET_SIZE(PyObject *bytearray)

   Versi makro dari "PyByteArray_Size()".
