diff options
| author | Craig Jennings <c@cjennings.net> | 2024-04-07 13:41:34 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2024-04-07 13:41:34 -0500 |
| commit | 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 (patch) | |
| tree | f1190704f78f04a2b0b4c977d20fe96a828377f1 /devdocs/python~3.12/c-api%2Fmemoryview.html | |
new repository
Diffstat (limited to 'devdocs/python~3.12/c-api%2Fmemoryview.html')
| -rw-r--r-- | devdocs/python~3.12/c-api%2Fmemoryview.html | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/devdocs/python~3.12/c-api%2Fmemoryview.html b/devdocs/python~3.12/c-api%2Fmemoryview.html new file mode 100644 index 00000000..f5e83822 --- /dev/null +++ b/devdocs/python~3.12/c-api%2Fmemoryview.html @@ -0,0 +1,27 @@ + <span id="id1"></span><h1>MemoryView objects</h1> <p>A <a class="reference internal" href="../library/stdtypes#memoryview" title="memoryview"><code>memoryview</code></a> object exposes the C level <a class="reference internal" href="buffer#bufferobjects"><span class="std std-ref">buffer interface</span></a> as a Python object which can then be passed around like any other object.</p> <dl class="c function"> <dt class="sig sig-object c" id="c.PyMemoryView_FromObject"> +<code>PyObject *PyMemoryView_FromObject(PyObject *obj)</code> </dt> <dd> +<em class="refcount">Return value: New reference.</em><em class="stableabi"> Part of the <a class="reference internal" href="stable#stable"><span class="std std-ref">Stable ABI</span></a>.</em><p>Create a memoryview object from an object that provides the buffer interface. If <em>obj</em> supports writable buffer exports, the memoryview object will be read/write, otherwise it may be either read-only or read/write at the discretion of the exporter.</p> </dd> +</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyMemoryView_FromMemory"> +<code>PyObject *PyMemoryView_FromMemory(char *mem, Py_ssize_t size, int flags)</code> </dt> <dd> +<em class="refcount">Return value: New reference.</em><em class="stableabi"> Part of the <a class="reference internal" href="stable#stable"><span class="std std-ref">Stable ABI</span></a> since version 3.7.</em><p>Create a memoryview object using <em>mem</em> as the underlying buffer. <em>flags</em> can be one of <code>PyBUF_READ</code> or <code>PyBUF_WRITE</code>.</p> <div class="versionadded"> <p><span class="versionmodified added">New in version 3.3.</span></p> </div> </dd> +</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyMemoryView_FromBuffer"> +<code>PyObject *PyMemoryView_FromBuffer(const Py_buffer *view)</code> </dt> <dd> +<em class="refcount">Return value: New reference.</em><em class="stableabi"> Part of the <a class="reference internal" href="stable#stable"><span class="std std-ref">Stable ABI</span></a> since version 3.11.</em><p>Create a memoryview object wrapping the given buffer structure <em>view</em>. For simple byte buffers, <a class="reference internal" href="#c.PyMemoryView_FromMemory" title="PyMemoryView_FromMemory"><code>PyMemoryView_FromMemory()</code></a> is the preferred function.</p> </dd> +</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyMemoryView_GetContiguous"> +<code>PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)</code> </dt> <dd> +<em class="refcount">Return value: New reference.</em><em class="stableabi"> Part of the <a class="reference internal" href="stable#stable"><span class="std std-ref">Stable ABI</span></a>.</em><p>Create a memoryview object to a <a class="reference internal" href="../glossary#term-contiguous"><span class="xref std std-term">contiguous</span></a> chunk of memory (in either ‘C’ or ‘F’ortran <em>order</em>) from an object that defines the buffer interface. If memory is contiguous, the memoryview object points to the original memory. Otherwise, a copy is made and the memoryview points to a new bytes object.</p> </dd> +</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyMemoryView_Check"> +<code>int PyMemoryView_Check(PyObject *obj)</code> </dt> <dd> +<p>Return true if the object <em>obj</em> is a memoryview object. It is not currently allowed to create subclasses of <a class="reference internal" href="../library/stdtypes#memoryview" title="memoryview"><code>memoryview</code></a>. This function always succeeds.</p> </dd> +</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyMemoryView_GET_BUFFER"> +<code>Py_buffer *PyMemoryView_GET_BUFFER(PyObject *mview)</code> </dt> <dd> +<p>Return a pointer to the memoryview’s private copy of the exporter’s buffer. <em>mview</em> <strong>must</strong> be a memoryview instance; this macro doesn’t check its type, you must do it yourself or you will risk crashes.</p> </dd> +</dl> <dl class="c function"> <dt class="sig sig-object c" id="c.PyMemoryView_GET_BASE"> +<code>PyObject *PyMemoryView_GET_BASE(PyObject *mview)</code> </dt> <dd> +<p>Return either a pointer to the exporting object that the memoryview is based on or <code>NULL</code> if the memoryview has been created by one of the functions <a class="reference internal" href="#c.PyMemoryView_FromMemory" title="PyMemoryView_FromMemory"><code>PyMemoryView_FromMemory()</code></a> or <a class="reference internal" href="#c.PyMemoryView_FromBuffer" title="PyMemoryView_FromBuffer"><code>PyMemoryView_FromBuffer()</code></a>. <em>mview</em> <strong>must</strong> be a memoryview instance.</p> </dd> +</dl> <div class="_attribution"> + <p class="_attribution-p"> + © 2001–2023 Python Software Foundation<br>Licensed under the PSF License.<br> + <a href="https://docs.python.org/3.12/c-api/memoryview.html" class="_attribution-link">https://docs.python.org/3.12/c-api/memoryview.html</a> + </p> +</div> |
