diff options
author | Raymond Hettinger <python@rcn.com> | 2004-02-08 10:49:42 +0000 |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2004-02-08 10:49:42 +0000 |
commit | 44c07ca73981249bd920a7a9b9d66cbd9a7bd41d (patch) | |
tree | 27f33c3855c98034e27d7cc09f5d52e1161833bf /Objects/enumobject.c | |
parent | 2c12e0250f1d7fb744ec648f6af2fb5c5c44a14e (diff) | |
download | cpython-44c07ca73981249bd920a7a9b9d66cbd9a7bd41d.tar.gz |
Let reversed() work with itself.
Diffstat (limited to 'Objects/enumobject.c')
-rw-r--r-- | Objects/enumobject.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Objects/enumobject.c b/Objects/enumobject.c index 7ed58da09e..3aac68095f 100644 --- a/Objects/enumobject.c +++ b/Objects/enumobject.c @@ -230,11 +230,22 @@ reversed_next(reversedobject *ro) return item; } +static PyObject * +reversed_reverse(reversedobject *ro, PyObject *unused) +{ + return PyObject_GetIter(ro->seq); +} + PyDoc_STRVAR(reversed_doc, "reverse(sequence) -> reverse iterator over values of the sequence\n" "\n" "Return a reverse iterator"); +static PyMethodDef reversed_methods[] = { + {"__reversed__", (PyCFunction)reversed_reverse, + METH_NOARGS, reversed_doc}, +}; + PyTypeObject PyReversed_Type = { PyObject_HEAD_INIT(&PyType_Type) 0, /* ob_size */ @@ -266,7 +277,7 @@ PyTypeObject PyReversed_Type = { 0, /* tp_weaklistoffset */ PyObject_SelfIter, /* tp_iter */ (iternextfunc)reversed_next, /* tp_iternext */ - 0, /* tp_methods */ + reversed_methods, /* tp_methods */ 0, /* tp_members */ 0, /* tp_getset */ 0, /* tp_base */ |