インスタンスメソッドオブジェクト(Instance Method Objects)
*********************************************************

インスタンスメソッドとは "PyCFunction" のためのラッパーであり、
"PyCFunction" をクラスオブジェクトにバインドするための新しいやり方です
。これは以前の "PyMethod_New(func, NULL, class)" の呼び出しを置き換え
ます。

PyTypeObject PyInstanceMethod_Type

   "PyTypeObject" のインスタンスは Python のインスタンスメソッドの型を
   表現します。これは Python のプログラムには公開されません。

int PyInstanceMethod_Check(PyObject *o)

   *o* がインスタンスメソッドオブジェクト ("PyInstanceMethod_Type" 型
   である) 場合に真を返します。パラメータは "NULL" にできません。

PyObject* PyInstanceMethod_New(PyObject *func)
    *Return value: New reference.*

   任意の呼び出し可能オブジェクト *func* を使った新たなメソッドオブジ
   ェクトを返します。関数 *func* はメソッドが呼び出されたときに呼び出
   されるオブジェクトです。

PyObject* PyInstanceMethod_Function(PyObject *im)
    *Return value: Borrowed reference.*

   インスタンスメソッド *im* に関連付けられた関数オブジェクトを返しま
   す。

PyObject* PyInstanceMethod_GET_FUNCTION(PyObject *im)
    *Return value: Borrowed reference.*

   "PyInstanceMethod_Function()" のマクロ版で、エラーチェックを行いま
   せん。


メソッドオブジェクト
********************

メソッドは関数オブジェクトに束縛されています。メソッドは常にあるユーザ
ー定義のクラスに束縛されているのです。束縛されていないメソッド(クラス
オブジェクトに束縛されたメソッド)は利用することができません。

PyTypeObject PyMethod_Type

   この "PyTypeObject" のインスタンスは Python のメソッド型を表現しま
   す。このオブジェクトは、 "types.MethodType"  として Python プログラ
   ムに公開されています。

int PyMethod_Check(PyObject *o)

   *o* がメソッドオブジェクト ("PyMethod_Type" 型である) 場合に真を返
   します。パラメータは "NULL" にできません。

PyObject* PyMethod_New(PyObject *func, PyObject *self)
    *Return value: New reference.*

   任意の呼び出し可能オブジェクト *func* とメソッドが束縛されるべきイ
   ンスタンス *self* を使った新たなメソッドオブジェクトを返します。 関
   数 *func* は、メソッドが呼び出された時に呼び出されるオブジェクトで
   す。 *self* は "NULL" にできません。

PyObject* PyMethod_Function(PyObject *meth)
    *Return value: Borrowed reference.*

   メソッド *meth* に関連付けられている関数オブジェクトを返します。

PyObject* PyMethod_GET_FUNCTION(PyObject *meth)
    *Return value: Borrowed reference.*

   "PyMethod_Function()" のマクロ版で、エラーチェックを行いません。

PyObject* PyMethod_Self(PyObject *meth)
    *Return value: Borrowed reference.*

   メソッド *meth* に関連付けられたインスタンスを返します。

PyObject* PyMethod_GET_SELF(PyObject *meth)
    *Return value: Borrowed reference.*

   "PyMethod_Self()" のマクロ版で、エラーチェックを行いません。

int PyMethod_ClearFreeList()

   free list をクリアします。解放された要素数を返します。
