memoryview オブジェクト¶
memoryview オブジェクトは、他のオブジェクトと同じように扱える Python オブジェクトの形をした C 言語レベルの バッファのインターフェース です。
-
PyTypeObject PyMemoryView_Type¶
- 次に属します: Stable ABI.
この
PyTypeObjectのインスタンスは Python の memoryview 型を表します。 Python レベルのmemoryviewと同じオブジェクトです。
-
PyObject *PyMemoryView_FromObject(PyObject *obj)¶
- 戻り値: 新しい参照。 次に属します: Stable ABI.
バッファインターフェースを提供するオブジェクトからmemoryview オブジェクトを生成します。もし obj が書き込み可能なバッファのエクスポートをサポートするなら、その memoryview オブジェクトは読み書き可能です。そうでなければ読出しのみになるか、エクスポーターの分別にもとづいて読み書きが可能となります。
-
PyBUF_READ¶
- 次に属します: Stable ABI (バージョン 3.11 より).
読み取り専用のバッファを要求するフラグ。
-
PyBUF_WRITE¶
- 次に属します: Stable ABI (バージョン 3.11 より).
書き込み可能なバッファを要求するフラグ。
-
PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)¶
- 戻り値: 新しい参照。 次に属します: Stable ABI (バージョン 3.7 より).
mem を配下のバッファとしてmemoryview オブジェクトを作成します。 flags は
PyBUF_READかPyBUF_WRITEのどちらかになります。Added in version 3.3.
-
PyObject *PyMemoryView_FromBuffer(const Py_buffer *view)¶
- 戻り値: 新しい参照。 次に属します: Stable ABI (バージョン 3.11 より).
view として与えられたバッファ構造をラップする memoryview オブジェクトを作成します。単なるバイトバッファ向けには、
PyMemoryView_FromMemory()のほうが望ましいです。
-
PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)¶
- 戻り値: 新しい参照。 次に属します: Stable ABI.
buffer インターフェースを定義しているオブジェクトから ('C' か 'F'ortran の order で) 連続した メモリチャンクへの memoryview オブジェクトを作ります。メモリが連続している場合、 memoryview オブジェクトは元のメモリを参照します。それ以外の場合、メモリはコピーされて、 memoryview オブジェクトは新しい bytes オブジェクトを参照します。
buffertype には
PyBUF_READまたはPyBUF_WRITEを指定できます。
-
int PyMemoryView_Check(PyObject *obj)¶
obj が memoryview オブジェクトの場合に真を返します。現在のところ、
memoryviewのサブクラスの作成は許可されていません。この関数は常に成功します。
-
Py_buffer *PyMemoryView_GET_BUFFER(PyObject *mview)¶
memoryview が内部に保持する、エクスポーターのバッファ情報のコピーへのポインタを返します。 mview は memoryview インスタンスで なければなりません。 このマクロは型を確認しないため、自分で確認しなければクラッシュするおそれがあります。
-
PyObject *PyMemoryView_GET_BASE(PyObject *mview)¶
memoryview の元になるバッファをエクスポートしているオブジェクトへのポインタを返します。 memoryview を
PyMemoryView_FromMemory()またはPyMemoryView_FromBuffer()で作成した場合は、NULLを返します。 mview は memoryview インスタンスで なければなりません。