diff options
author | Jeroen Ruigrok van der Werven <asmodai@in-nomine.org> | 2009-04-27 05:43:17 (GMT) |
---|---|---|
committer | Jeroen Ruigrok van der Werven <asmodai@in-nomine.org> | 2009-04-27 05:43:17 (GMT) |
commit | 47a7d70002243bd421664aa2f8300fcfecf3e9f5 (patch) | |
tree | 415121c8f8231e25dd7686796a2d90680454cabe /Doc/c-api/list.rst | |
parent | 5c32f671f60c1927951161432b4ee3b4fa68e212 (diff) | |
download | cpython-47a7d70002243bd421664aa2f8300fcfecf3e9f5.zip cpython-47a7d70002243bd421664aa2f8300fcfecf3e9f5.tar.gz cpython-47a7d70002243bd421664aa2f8300fcfecf3e9f5.tar.bz2 |
Merged revisions 71920-71923,71925-71929,71931-71934,71937 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r71920 | jeroen.ruigrok | 2009-04-25 21:44:55 +0200 (za, 25 apr 2009) | 5 lines
Issue #4129: More documentation pointers about int -> Py_ssize_t.
Also fix up the documentation for PyObject_GC_Resize(). It seems that since
it first got documented, the documentation was actually for
_PyObject_GC_Resize().
........
r71921 | jeroen.ruigrok | 2009-04-25 21:46:19 +0200 (za, 25 apr 2009) | 2 lines
Issue #4129: Documentation notes for int -> Py_ssize_t changes.
........
r71922 | jeroen.ruigrok | 2009-04-25 21:49:05 +0200 (za, 25 apr 2009) | 2 lines
Reformat, since I've been busy here anyway.
........
r71923 | jeroen.ruigrok | 2009-04-25 21:54:34 +0200 (za, 25 apr 2009) | 2 lines
Issue #4129: Add a versionchanged notice for a few forgotten entries.
........
r71925 | jeroen.ruigrok | 2009-04-25 22:37:39 +0200 (za, 25 apr 2009) | 2 lines
Since it's a macro, actually refer to it as such instead of function.
........
r71926 | jeroen.ruigrok | 2009-04-25 22:40:10 +0200 (za, 25 apr 2009) | 2 lines
Reformat prior to editing.
........
r71927 | jeroen.ruigrok | 2009-04-25 22:41:40 +0200 (za, 25 apr 2009) | 2 lines
Issue #4129: int -> Py_ssize_t documentation.
........
r71928 | jeroen.ruigrok | 2009-04-25 22:43:30 +0200 (za, 25 apr 2009) | 2 lines
Reformat prior to editing.
........
r71929 | jeroen.ruigrok | 2009-04-25 22:44:58 +0200 (za, 25 apr 2009) | 2 lines
Issue #4129: int -> Py_ssize_t documentation.
........
r71931 | jeroen.ruigrok | 2009-04-25 22:50:27 +0200 (za, 25 apr 2009) | 2 lines
Issue #4129: int -> Py_ssize_t documentation.
........
r71932 | jeroen.ruigrok | 2009-04-25 22:55:39 +0200 (za, 25 apr 2009) | 2 lines
Issue #4129: more int -> Py_ssize_t documentation.
........
r71933 | jeroen.ruigrok | 2009-04-25 22:58:35 +0200 (za, 25 apr 2009) | 2 lines
Issue #4129: more int -> Py_ssize_t documentation.
........
r71934 | jeroen.ruigrok | 2009-04-25 23:02:34 +0200 (za, 25 apr 2009) | 2 lines
Issue #4129: field changed from int to Py_ssize_t.
........
r71937 | jeroen.ruigrok | 2009-04-25 23:16:05 +0200 (za, 25 apr 2009) | 2 lines
Issue #4129: document int -> Py_ssize_t changes.
........
Diffstat (limited to 'Doc/c-api/list.rst')
-rw-r--r-- | Doc/c-api/list.rst | 85 |
1 files changed, 50 insertions, 35 deletions
diff --git a/Doc/c-api/list.rst b/Doc/c-api/list.rst index e2990e7..e971d36 100644 --- a/Doc/c-api/list.rst +++ b/Doc/c-api/list.rst @@ -17,8 +17,9 @@ List Objects .. index:: single: ListType (in module types) - This instance of :ctype:`PyTypeObject` represents the Python list type. This is - the same object as ``list`` and ``types.ListType`` in the Python layer. + This instance of :ctype:`PyTypeObject` represents the Python list type. + This is the same object as ``list`` and ``types.ListType`` in the Python + layer. .. cfunction:: int PyList_Check(PyObject *p) @@ -29,8 +30,8 @@ List Objects .. cfunction:: int PyList_CheckExact(PyObject *p) - Return true if *p* is a list object, but not an instance of a subtype of the - list type. + Return true if *p* is a list object, but not an instance of a subtype of + the list type. .. cfunction:: PyObject* PyList_New(Py_ssize_t len) @@ -39,10 +40,10 @@ List Objects .. note:: - If *length* is greater than zero, the returned list object's items are set to - ``NULL``. Thus you cannot use abstract API functions such as - :cfunc:`PySequence_SetItem` or expose the object to Python code before setting - all items to a real object with :cfunc:`PyList_SetItem`. + If *length* is greater than zero, the returned list object's items are + set to ``NULL``. Thus you cannot use abstract API functions such as + :cfunc:`PySequence_SetItem` or expose the object to Python code before + setting all items to a real object with :cfunc:`PyList_SetItem`. .. versionchanged:: 2.5 This function used an :ctype:`int` for *size*. This might require @@ -65,12 +66,17 @@ List Objects Macro form of :cfunc:`PyList_Size` without error checking. + .. versionchanged:: 2.5 + This macro returned an :ctype:`int`. This might require changes in your + code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PyList_GetItem(PyObject *list, Py_ssize_t index) - Return the object at position *pos* in the list pointed to by *p*. The position - must be positive, indexing from the end of the list is not supported. If *pos* - is out of bounds, return *NULL* and set an :exc:`IndexError` exception. + Return the object at position *pos* in the list pointed to by *p*. The + position must be positive, indexing from the end of the list is not + supported. If *pos* is out of bounds, return *NULL* and set an + :exc:`IndexError` exception. .. versionchanged:: 2.5 This function used an :ctype:`int` for *index*. This might require @@ -81,16 +87,20 @@ List Objects Macro form of :cfunc:`PyList_GetItem` without error checking. + .. versionchanged:: 2.5 + This macro used an :ctype:`int` for *i*. This might require changes in + your code for properly supporting 64-bit systems. + .. cfunction:: int PyList_SetItem(PyObject *list, Py_ssize_t index, PyObject *item) - Set the item at index *index* in list to *item*. Return ``0`` on success or - ``-1`` on failure. + Set the item at index *index* in list to *item*. Return ``0`` on success + or ``-1`` on failure. .. note:: - This function "steals" a reference to *item* and discards a reference to an item - already in the list at the affected position. + This function "steals" a reference to *item* and discards a reference to + an item already in the list at the affected position. .. versionchanged:: 2.5 This function used an :ctype:`int` for *index*. This might require @@ -99,21 +109,26 @@ List Objects .. cfunction:: void PyList_SET_ITEM(PyObject *list, Py_ssize_t i, PyObject *o) - Macro form of :cfunc:`PyList_SetItem` without error checking. This is normally - only used to fill in new lists where there is no previous content. + Macro form of :cfunc:`PyList_SetItem` without error checking. This is + normally only used to fill in new lists where there is no previous content. .. note:: - This function "steals" a reference to *item*, and, unlike - :cfunc:`PyList_SetItem`, does *not* discard a reference to any item that it - being replaced; any reference in *list* at position *i* will be leaked. + This macro "steals" a reference to *item*, and, unlike + :cfunc:`PyList_SetItem`, does *not* discard a reference to any item that + is being replaced; any reference in *list* at position *i* will be + leaked. + + .. versionchanged:: 2.5 + This macro used an :ctype:`int` for *i*. This might require + changes in your code for properly supporting 64-bit systems. .. cfunction:: int PyList_Insert(PyObject *list, Py_ssize_t index, PyObject *item) - Insert the item *item* into list *list* in front of index *index*. Return ``0`` - if successful; return ``-1`` and set an exception if unsuccessful. Analogous to - ``list.insert(index, item)``. + Insert the item *item* into list *list* in front of index *index*. Return + ``0`` if successful; return ``-1`` and set an exception if unsuccessful. + Analogous to ``list.insert(index, item)``. .. versionchanged:: 2.5 This function used an :ctype:`int` for *index*. This might require @@ -122,16 +137,16 @@ List Objects .. cfunction:: int PyList_Append(PyObject *list, PyObject *item) - Append the object *item* at the end of list *list*. Return ``0`` if successful; - return ``-1`` and set an exception if unsuccessful. Analogous to - ``list.append(item)``. + Append the object *item* at the end of list *list*. Return ``0`` if + successful; return ``-1`` and set an exception if unsuccessful. Analogous + to ``list.append(item)``. .. cfunction:: PyObject* PyList_GetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high) - Return a list of the objects in *list* containing the objects *between* *low* - and *high*. Return *NULL* and set an exception if unsuccessful. Analogous to - ``list[low:high]``. + Return a list of the objects in *list* containing the objects *between* + *low* and *high*. Return *NULL* and set an exception if unsuccessful. + Analogous to ``list[low:high]``. .. versionchanged:: 2.5 This function used an :ctype:`int` for *low* and *high*. This might @@ -140,10 +155,10 @@ List Objects .. cfunction:: int PyList_SetSlice(PyObject *list, Py_ssize_t low, Py_ssize_t high, PyObject *itemlist) - Set the slice of *list* between *low* and *high* to the contents of *itemlist*. - Analogous to ``list[low:high] = itemlist``. The *itemlist* may be *NULL*, - indicating the assignment of an empty list (slice deletion). Return ``0`` on - success, ``-1`` on failure. + Set the slice of *list* between *low* and *high* to the contents of + *itemlist*. Analogous to ``list[low:high] = itemlist``. The *itemlist* may + be *NULL*, indicating the assignment of an empty list (slice deletion). + Return ``0`` on success, ``-1`` on failure. .. versionchanged:: 2.5 This function used an :ctype:`int` for *low* and *high*. This might @@ -152,8 +167,8 @@ List Objects .. cfunction:: int PyList_Sort(PyObject *list) - Sort the items of *list* in place. Return ``0`` on success, ``-1`` on failure. - This is equivalent to ``list.sort()``. + Sort the items of *list* in place. Return ``0`` on success, ``-1`` on + failure. This is equivalent to ``list.sort()``. .. cfunction:: int PyList_Reverse(PyObject *list) |