Commit 1ec68b13 authored by Antoine Pitrou's avatar Antoine Pitrou

Merged revisions 85066 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85066 | antoine.pitrou | 2010-09-28 17:29:16 +0200 (mar., 28 sept. 2010) | 3 lines

  Issue #9970: improve C API documentation for memoryview objects
........
parent e9355de3
...@@ -303,18 +303,40 @@ Buffer related functions ...@@ -303,18 +303,40 @@ Buffer related functions
MemoryView objects MemoryView objects
================== ==================
A memoryview object exposes the C level buffer interface to Python. A :class:`memoryview` object exposes the C level buffer interface as a
Python object which can then be passed around like any other object.
.. cfunction:: PyObject* PyMemoryView_FromObject(PyObject *obj) .. cfunction:: PyObject *PyMemoryView_FromObject(PyObject *obj)
Return a memoryview object from an object that defines the buffer interface. Create a memoryview object from an object that defines the buffer interface.
.. cfunction:: PyObject * PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order) .. cfunction:: PyObject *PyMemoryView_FromBuffer(Py_buffer *view)
Return a memoryview object to a contiguous chunk of memory (in either Create a memoryview object wrapping the given buffer-info structure *view*.
'C' or 'F'ortran order) from an object that defines the buffer The memoryview object then owns the buffer, which means you shouldn't
try to release it yourself: it will be released on deallocation of the
memoryview object.
.. cfunction:: PyObject *PyMemoryView_GetContiguous(PyObject *obj, int buffertype, char order)
Create 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 interface. If memory is contiguous, the memoryview object points to the
original memory. Otherwise copy is made and the memoryview points to a original memory. Otherwise copy is made and the memoryview points to a
new bytes object. new bytes object.
.. cfunction:: int PyMemoryView_Check(PyObject *obj)
Return true if the object *obj* is a memoryview object. It is not
currently allowed to create subclasses of :class:`memoryview`.
.. cfunction:: Py_buffer *PyMemoryView_GET_BUFFER(PyObject *obj)
Return a pointer to the buffer-info structure wrapped by the given
object. The object **must** be a memoryview instance; this macro doesn't
check its type, you must do it yourself or you will risk crashes.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment