抽象オブジェクトレイヤ (Abstract Objects Layer)
***********************************************

この章で説明する関数は、オブジェクトの型に依存しないような Python オブ
ジェクトの操作や、(数値型全て、シーケンス型全てといった) 大まかな型の
オブジェクトに対する操作を行ないます。関数を適用対象でないオブジェクト
に対して使った場合、Python の例外が送出されることになります。

これらの関数は、 "PyList_New()" で作成された後に "NULL" 以外の値を設定
されていないリストのような、適切に初期化されていないオブジェクトに対し
て使うことはできません。

* オブジェクトプロトコル (object protocol)

* Call プロトコル

  * The *tp_call* Protocol

  * The Vectorcall Protocol

    * 再帰の管理

    * Vectorcall Support API

  * Object Calling API

  * Call Support API

* 数値型プロトコル (number protocol)

* シーケンス型プロトコル (sequence protocol)

* マップ型プロトコル (mapping protocol)

* イテレータプロトコル (iterator protocol)

* バッファプロトコル (buffer Protocol)

  * buffer 構造体

  * バッファリクエストのタイプ

    * リクエストに依存しないフィールド

    * readonly, format

    * shape, strides, suboffsets

    * 隣接性のリクエスト

    * 複合リクエスト

  * 複雑な配列

    * NumPy スタイル: shape, strides

    * PIL スタイル: shape, strides, suboffsets

  * バッファ関連の関数
