Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Moved special case for tuples from iterobject.c to | Raymond Hettinger | 2002-08-09 | 1 | -24/+11 | |
| | | | | | | tupleobject.c. Makes the code in iterobject.c cleaner and speeds-up the general case by not checking for tuples everytime. SF Patch #592065. | |||||
* | Make StopIteration a sink state. This is done by clearing out the | Guido van Rossum | 2002-07-16 | 1 | -62/+47 | |
| | | | | | | | | | | object references (it_seq for seqiterobject, it_callable and it_sentinel for calliterobject) when the end of the list is reached. Also remove the next() methods -- one is supplied automatically by PyType_Ready() because the tp_iternext slot is set. That's a good thing, because the implementation given here was buggy (it never raised StopIteration). | |||||
* | SF 560736. Optimize list iteration by filling the tp_iter slot. | Raymond Hettinger | 2002-05-31 | 1 | -17/+7 | |
| | ||||||
* | Patch #552433: Special-case tuples. Avoid sub-type checking for lists. | Martin v. Löwis | 2002-05-08 | 1 | -2/+18 | |
| | | | | | Avoid checks for negative indices and duplicate checks for support of the sequence protocol. | |||||
* | Re-enable GC of iter objects. | Neil Schemenauer | 2002-03-18 | 1 | -14/+12 | |
| | ||||||
* | Patch #427190: Implement and use METH_NOARGS and METH_O. | Martin v. Löwis | 2001-08-16 | 1 | -2/+2 | |
| | ||||||
* | Merge of descr-branch back into trunk. | Tim Peters | 2001-08-02 | 1 | -16/+18 | |
| | ||||||
* | GC for iterator objects. | Neil Schemenauer | 2001-07-12 | 1 | -6/+29 | |
| | ||||||
* | Discard a misleading comment about iter_iternext(). | Guido van Rossum | 2001-05-01 | 1 | -1/+0 | |
| | ||||||
* | Mondo changes to the iterator stuff, without changing how Python code | Guido van Rossum | 2001-04-23 | 1 | -21/+63 | |
| | | | | | | | | | | | | | | | | | | | | | | | | sees it (test_iter.py is unchanged). - Added a tp_iternext slot, which calls the iterator's next() method; this is much faster for built-in iterators over built-in types such as lists and dicts, speeding up pybench's ForLoop with about 25% compared to Python 2.1. (Now there's a good argument for iterators. ;-) - Renamed the built-in sequence iterator SeqIter, affecting the C API functions for it. (This frees up the PyIter prefix for generic iterator operations.) - Added PyIter_Check(obj), which checks that obj's type has a tp_iternext slot and that the proper feature flag is set. - Added PyIter_Next(obj) which calls the tp_iternext slot. It has a somewhat complex return condition due to the need for speed: when it returns NULL, it may not have set an exception condition, meaning the iterator is exhausted; when the exception StopIteration is set (or a derived exception class), it means the same thing; any other exception means some other error occurred. | |||||
* | Adding iterobject.[ch], which were accidentally not added. Sorry\! | Guido van Rossum | 2001-04-20 | 1 | -0/+188 | |