pickle バッファオブジェクト
***************************

Added in version 3.8.

"pickle.PickleBuffer" オブジェクトは、"pickle" モジュールで帯域外デー
タ転送を行うために、バッファを提供するオブジェクト を包みます。

PyTypeObject PyPickleBuffer_Type

   この "PyTypeObject" のインスタンスは Python の pickle バッファ型を
   表します。 Python レベルの "pickle.PickleBuffer" と同じオブジェクト
   です。

int PyPickleBuffer_Check(PyObject *op)

   *op* が pickle バッファのインスタンスなら真を返します。 この関数は
   常に成功します。

PyObject *PyPickleBuffer_FromObject(PyObject *obj)

   オブジェクト *obj* から pickle バッファを作成します。

   *obj* が バッファプロトコル をサポートしない場合、この関数は失敗し
   ます。

   成功すると、新しい pickle バッファのインスタンスを返します。 失敗す
   ると、例外を設定して "NULL" を返します。

   Python で *obj* を引数に "pickle.PickleBuffer" を呼び出すことに相当
   します。

const Py_buffer *PyPickleBuffer_GetBuffer(PyObject *picklebuf)

   pickle バッファが包む、基となる "Py_buffer" へのポインタを取得しま
   す。

   返されたポインタは、*picklebuf* が生存し、解放されていない限り有効
   です。 呼び出し側は、返された "Py_buffer" を変更したり解放したりし
   てはなりません。 pickle バッファが解放済みの場合は "ValueError" を
   送出します。

   成功すると、バッファビューへのポインタを返します。 失敗すると、例外
   を設定して "NULL" を返します。

int PyPickleBuffer_Release(PyObject *picklebuf)

   pickle バッファが保持する、基となるバッファを解放します。

   成功すると "0" を返します。 失敗すると、例外を設定して "-1" を返し
   ます。

   Python で "pickle.PickleBuffer.release()" を呼び出すことに相当しま
   す。
