diff options
author | Andrew M. Kuchling <amk@amk.ca> | 2000-06-18 18:43:14 (GMT) |
---|---|---|
committer | Andrew M. Kuchling <amk@amk.ca> | 2000-06-18 18:43:14 (GMT) |
commit | 74042d6e5d44cc9d332c28414a1e04eadd204248 (patch) | |
tree | 888efb4a5da65b5fed5d282d019af6fb29fefe0b /Include | |
parent | b75c485f0bc6394f616d4a0bc746e613fd7b1021 (diff) | |
download | cpython-74042d6e5d44cc9d332c28414a1e04eadd204248.zip cpython-74042d6e5d44cc9d332c28414a1e04eadd204248.tar.gz cpython-74042d6e5d44cc9d332c28414a1e04eadd204248.tar.bz2 |
Patch from /F:
this patch introduces PySequence_Fast and PySequence_Fast_GET_ITEM,
and modifies the list.extend method to accept any kind of sequence.
Diffstat (limited to 'Include')
-rw-r--r-- | Include/abstract.h | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/Include/abstract.h b/Include/abstract.h index 12d799d..70c0e7c 100644 --- a/Include/abstract.h +++ b/Include/abstract.h @@ -731,7 +731,6 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ /* Return the ith element of o, or NULL on failure. This is the equivalent of the Python expression: o[i]. - */ DL_IMPORT(PyObject *) PySequence_GetSlice Py_PROTO((PyObject *o, int i1, int i2)); @@ -783,6 +782,7 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ This is equivalent to the Python expression: tuple(o) */ + DL_IMPORT(PyObject *) PySequence_List Py_PROTO((PyObject *o)); /* @@ -790,6 +790,25 @@ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/ This is equivalent to the Python expression: list(o) */ + DL_IMPORT(PyObject *) PySequence_Fast Py_PROTO((PyObject *o, const char* m)); + + /* + Returns the sequence, o, as a tuple, unless it's already a + tuple or list. Use PySequence_Fast_GET_ITEM to access the + members of this list. + + Returns NULL on failure. If the object is not a sequence, + raises a TypeError exception with m as the message text. + */ + +#define PySequence_Fast_GET_ITEM(o, i)\ + (PyList_Check(o) ? PyList_GET_ITEM(o, i) : PyTuple_GET_ITEM(o, i)) + + /* + Return the ith element of o, assuming that o was returned by + PySequence_Fast, and that i is within bounds. + */ + DL_IMPORT(int) PySequence_Count Py_PROTO((PyObject *o, PyObject *value)); /* |