型オブジェクト
**************

PyTypeObject

   組み込み型を記述する際に用いられる、オブジェクトを表す C 構造体です
   。

PyObject* PyType_Type

   型オブジェクト自身の型オブジェクトです; Python レイヤにおける
   "type" や "types.TypeType" と同じオブジェクトです。

int PyType_Check(PyObject *o)

   オブジェクト *o* が型オブジェクトの場合に真を返します。標準型オブジ
   ェクトから派生したサブタイプ (subtype) のインスタンスも含みます。そ
   の他の場合には偽を返します。

int PyType_CheckExact(PyObject *o)

   オブジェクト *o* が型オブジェクトの場合に真を返します。標準型のサブ
   タイプの場合は含みません。その他の場合には偽を返します。

   バージョン 2.2 で追加.

unsigned int PyType_ClearCache()

   内部の検索キャッシュをクリアします。現在のバージョンタグを返します
   。

   バージョン 2.6 で追加.

void PyType_Modified(PyTypeObject *type)

   内部の検索キャッシュを、その type とすべてのサブタイプに対して無効
   にします。この関数は type の属性や基底クラス列を変更したあとに手動
   で呼び出さなければなりません。

   バージョン 2.6 で追加.

int PyType_HasFeature(PyObject *o, int feature)

   型オブジェクト *o* に、型機能 *feature* が設定されている場合に真を
   返します。型機能は各々単一ビットのフラグで表されます。

int PyType_IS_GC(PyObject *o)

   型オブジェクトが *o* が循環参照検出をサポートしている場合に真を返し
   ます; この関数は型機能フラグ "Py_TPFLAGS_HAVE_GC" の設定状態をチェ
   ックします。

   バージョン 2.0 で追加.

int PyType_IsSubtype(PyTypeObject *a, PyTypeObject *b)

   *a* が *b* のサブタイプの場合に真を返します。

   バージョン 2.2 で追加.

   この関数は実際のサブクラスをチェックするだけです。つまり、
   "__subclasscheck__()" は *b* に対し呼ばれません。 "issubclass()" と
   同じチェックをするには "PyObject_IsSubclass()" を呼んでください。

PyObject* PyType_GenericAlloc(PyTypeObject *type, Py_ssize_t nitems)
    *Return value: New reference.*

   バージョン 2.2 で追加.

   バージョン 2.5 で変更: この関数は以前は *nitems* の型に "int" を利
   用していました。この変更により、 64bit システムを正しくサポートする
   には修正が必要になります。

PyObject* PyType_GenericNew(PyTypeObject *type, PyObject *args, PyObject *kwds)
    *Return value: New reference.*

   バージョン 2.2 で追加.

int PyType_Ready(PyTypeObject *type)

   型オブジェクトの後始末処理 (finalize) を行います。この関数は全ての
   オブジェクトで初期化を完了するために呼び出されなくてはなりません。
   この関数は、基底クラス型から継承したスロットを型オブジェクトに追加
   する役割があります。成功した場合には "0" を返し、エラーの場合には
   "-1" を返して例外情報を設定します。

   バージョン 2.2 で追加.
