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

PyTypeObject

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

PyObject* PyType_Type

   This is the type object for type objects; it is the same object as
   "type" and "types.TypeType" in the Python layer.

int PyType_Check(PyObject *o)

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

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 で変更: This function used an "int" type for
   *nitems*. This might require changes in your code for properly
   supporting 64-bit systems.

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

   バージョン 2.2 で追加.

int PyType_Ready(PyTypeObject *type)

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

   バージョン 2.2 で追加.
