Cオブジェクト (CObject)
このオブジェクトの使用法に関する情報は、 Python インタプリタの拡張と埋め込み 1.12 節、 “Providing a C API for an
Extension Module,” を参照してください。
-
PyCObject
この PyObject のサブタイプは不透明型値 (opaque value) を表現します。C 拡張モジュールが Python
コードから不透明型値を (void* ポインタで) 他の C コードに渡す必要があるときに便利です。正規の import
機構を使って動的にロードされるモジュール内で定義されている C API にアクセスするために、あるモジュール内で定義されている C
関数ポインタを別のモジュールでも利用できるようにするためによく使われます。
-
int PyCObject_Check(PyObject *p)
引数が PyCObject の場合に真を返します。
-
PyObject* PyCObject_FromVoidPtr(void* cobj, void (*destr)(void *))
- Return value: New reference.
void* cobj から PyCObject を生成します。関数 destr が NULL
でない場合、オブジェクトを再利用する際に呼び出します。
-
PyObject* PyCObject_FromVoidPtrAndDesc(void* cobj, void* desc, void (*destr)(void *, void *))
- Return value: New reference.
void* cobj から PyCObject を生成します。関数 destr が NULL
でない場合、オブジェクトを再利用する際に呼び出します。引数 desc を使って、デストラクタ関数に追加のコールバックデータを渡せます。
-
void* PyCObject_AsVoidPtr(PyObject* self)
PyCObject オブジェクト self を生成するのに用いたオブジェクト void * を返します。
-
void* PyCObject_GetDesc(PyObject* self)
PyCObject オブジェクト self を生成するのに用いたコールバックデータ void * を返します。
-
int PyCObject_SetVoidPtr(PyObject* self, void* cobj)
self 内の void ポインタ cobj に設定します。 PyCObject にデストラクタが関連づけられていてはなりません。
成功すると真値を返し、失敗すると偽値を返します。