summaryrefslogtreecommitdiffstats
path: root/Doc/c-api
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2009-08-26 07:35:45 (GMT)
committerBenjamin Peterson <benjamin@python.org>2009-08-26 07:35:45 (GMT)
commit0f46ffdbbc72f9adfa76093345145f92e782d240 (patch)
tree95237217c127826866707563618fa30d9dae0193 /Doc/c-api
parentf3b33221046edcf508b807b79a2a5fbb1b66b9cb (diff)
downloadcpython-0f46ffdbbc72f9adfa76093345145f92e782d240.zip
cpython-0f46ffdbbc72f9adfa76093345145f92e782d240.tar.gz
cpython-0f46ffdbbc72f9adfa76093345145f92e782d240.tar.bz2
the old buffer object doesn't exist in Python 3 #6659
Diffstat (limited to 'Doc/c-api')
-rw-r--r--Doc/c-api/buffer.rst20
1 files changed, 15 insertions, 5 deletions
diff --git a/Doc/c-api/buffer.rst b/Doc/c-api/buffer.rst
index 97adb07..ec44a99 100644
--- a/Doc/c-api/buffer.rst
+++ b/Doc/c-api/buffer.rst
@@ -10,7 +10,6 @@ Buffer Objects
.. index::
- object: buffer
single: buffer interface
Python objects implemented in C can export a "buffer interface." These
@@ -297,14 +296,25 @@ Buffer related functions
length. Return 0 on success and -1 (with raising an error) on error.
+.. index::
+ object: memoryview
+
+
MemoryView objects
==================
-A memoryview object is an extended buffer object that could replace the buffer
-object (but doesn't have to as that could be kept as a simple 1-d memoryview
-object). It, unlike :ctype:`Py_buffer`, is a Python object (exposed as
-:class:`memoryview` in :mod:`builtins`), so it can be used with Python code.
+A memoryview object exposes the C level buffer interface to Python.
+
.. cfunction:: PyObject* PyMemoryView_FromObject(PyObject *obj)
Return a memoryview object from an object that defines the buffer interface.
+
+
+.. cfunction:: PyObject * PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)
+
+ Return a memoryview object to a contiguous chunk of memory (in either
+ 'C' or 'F'ortran order) from an object that defines the buffer
+ interface. If memory is contiguous, the memoryview object points to the
+ original memory. Otherwise copy is made and the memoryview points to a
+ new bytes object.