diff options
author | Jeroen Ruigrok van der Werven <asmodai@in-nomine.org> | 2009-04-26 21:06:15 (GMT) |
---|---|---|
committer | Jeroen Ruigrok van der Werven <asmodai@in-nomine.org> | 2009-04-26 21:06:15 (GMT) |
commit | bd87552a3453539f2a70f2b7c50c2980a436c567 (patch) | |
tree | 4b505dd36616aa61eb6e67c6fa965e3aee07b28d /Doc/c-api/sequence.rst | |
parent | 939c178379c6d979f49a083a6f3cbabf7b10b479 (diff) | |
download | cpython-bd87552a3453539f2a70f2b7c50c2980a436c567.zip cpython-bd87552a3453539f2a70f2b7c50c2980a436c567.tar.gz cpython-bd87552a3453539f2a70f2b7c50c2980a436c567.tar.bz2 |
Merged revisions 71898-71900,71910,71914-71919 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r71898 | jeroen.ruigrok | 2009-04-25 16:24:30 +0200 (za, 25 apr 2009) | 2 lines
Reformat prior to editing.
........
r71899 | jeroen.ruigrok | 2009-04-25 16:27:00 +0200 (za, 25 apr 2009) | 3 lines
The type for ppos has been Py_ssize_t since 2.5, reflect this in the
documentation.
........
r71900 | jeroen.ruigrok | 2009-04-25 16:28:02 +0200 (za, 25 apr 2009) | 2 lines
Reformat paragraph.
........
r71910 | jeroen.ruigrok | 2009-04-25 19:59:03 +0200 (za, 25 apr 2009) | 4 lines
Issue #4129: Belatedly document which C API functions had their argument(s) or
return type changed from int or int * to Py_ssize_t or Py_ssize_t * as this
might cause problems on 64-bit platforms.
........
r71914 | jeroen.ruigrok | 2009-04-25 20:31:20 +0200 (za, 25 apr 2009) | 2 lines
Reformat prior to editing.
........
r71915 | jeroen.ruigrok | 2009-04-25 20:46:03 +0200 (za, 25 apr 2009) | 2 lines
Issue #4129: Document more int -> Py_ssize_t changes.
........
r71916 | jeroen.ruigrok | 2009-04-25 20:53:48 +0200 (za, 25 apr 2009) | 2 lines
Reformat prior to editing.
........
r71917 | jeroen.ruigrok | 2009-04-25 20:57:32 +0200 (za, 25 apr 2009) | 2 lines
Reference to an int type, whereas it's a Py_ssize_t as the synopsis states.
........
r71918 | jeroen.ruigrok | 2009-04-25 21:04:15 +0200 (za, 25 apr 2009) | 2 lines
Since I edited this file, reformat for future edits.
........
r71919 | jeroen.ruigrok | 2009-04-25 21:10:52 +0200 (za, 25 apr 2009) | 2 lines
Reformat prior to editing.
........
Diffstat (limited to 'Doc/c-api/sequence.rst')
-rw-r--r-- | Doc/c-api/sequence.rst | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/Doc/c-api/sequence.rst b/Doc/c-api/sequence.rst index 51f9a7d..132c100 100644 --- a/Doc/c-api/sequence.rst +++ b/Doc/c-api/sequence.rst @@ -13,6 +13,7 @@ Sequence Protocol .. cfunction:: Py_ssize_t PySequence_Size(PyObject *o) + Py_ssize_t PySequence_Length(PyObject *o) .. index:: builtin: len @@ -20,10 +21,9 @@ Sequence Protocol For objects that do not provide sequence protocol, this is equivalent to the Python expression ``len(o)``. - -.. cfunction:: Py_ssize_t PySequence_Length(PyObject *o) - - Alternate name for :cfunc:`PySequence_Size`. + .. versionchanged:: 2.5 + These functions returned an :ctype:`int` type. This might require + changes in your code for properly supporting 64-bit systems. .. cfunction:: PyObject* PySequence_Concat(PyObject *o1, PyObject *o2) @@ -37,6 +37,10 @@ Sequence Protocol Return the result of repeating sequence object *o* *count* times, or *NULL* on failure. This is the equivalent of the Python expression ``o * count``. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *count*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PySequence_InPlaceConcat(PyObject *o1, PyObject *o2) @@ -51,18 +55,30 @@ Sequence Protocol failure. The operation is done *in-place* when *o* supports it. This is the equivalent of the Python expression ``o *= count``. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *count*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PySequence_GetItem(PyObject *o, Py_ssize_t i) Return the *i*th element of *o*, or *NULL* on failure. This is the equivalent of the Python expression ``o[i]``. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *i*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2) Return the slice of sequence object *o* between *i1* and *i2*, or *NULL* on failure. This is the equivalent of the Python expression ``o[i1:i2]``. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *i1* and *i2*. This might + require changes in your code for properly supporting 64-bit systems. + .. cfunction:: int PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v) @@ -70,24 +86,40 @@ Sequence Protocol is the equivalent of the Python statement ``o[i] = v``. This function *does not* steal a reference to *v*. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *i*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: int PySequence_DelItem(PyObject *o, Py_ssize_t i) Delete the *i*th element of object *o*. Returns ``-1`` on failure. This is the equivalent of the Python statement ``del o[i]``. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *i*. This might require + changes in your code for properly supporting 64-bit systems. + .. cfunction:: int PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, PyObject *v) Assign the sequence object *v* to the slice in sequence object *o* from *i1* to *i2*. This is the equivalent of the Python statement ``o[i1:i2] = v``. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *i1* and *i2*. This might + require changes in your code for properly supporting 64-bit systems. + .. cfunction:: int PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2) Delete the slice in sequence object *o* from *i1* to *i2*. Returns ``-1`` on failure. This is the equivalent of the Python statement ``del o[i1:i2]``. + .. versionchanged:: 2.5 + This function used an :ctype:`int` type for *i1* and *i2*. This might + require changes in your code for properly supporting 64-bit systems. + .. cfunction:: Py_ssize_t PySequence_Count(PyObject *o, PyObject *value) @@ -95,6 +127,10 @@ Sequence Protocol of keys for which ``o[key] == value``. On failure, return ``-1``. This is equivalent to the Python expression ``o.count(value)``. + .. versionchanged:: 2.5 + This function returned an :ctype:`int` type. This might require changes + in your code for properly supporting 64-bit systems. + .. cfunction:: int PySequence_Contains(PyObject *o, PyObject *value) @@ -108,6 +144,10 @@ Sequence Protocol Return the first index *i* for which ``o[i] == value``. On error, return ``-1``. This is equivalent to the Python expression ``o.index(value)``. + .. versionchanged:: 2.5 + This function returned an :ctype:`int` type. This might require changes + in your code for properly supporting 64-bit systems. + .. cfunction:: PyObject* PySequence_List(PyObject *o) |