• Guido van Rossum's avatar
    Mondo changes to the iterator stuff, without changing how Python code · 213c7a6a
    Guido van Rossum yazdı
    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.
    213c7a6a
Adı
Son kayıt (commit)
Son güncelleme
..
.cvsignore Loading commit data...
atof.c Loading commit data...
bltinmodule.c Loading commit data...
ceval.c Loading commit data...
codecs.c Loading commit data...
compile.c Loading commit data...
dup2.c Loading commit data...
dynload_aix.c Loading commit data...
dynload_beos.c Loading commit data...
dynload_dl.c Loading commit data...
dynload_hpux.c Loading commit data...
dynload_mac.c Loading commit data...
dynload_next.c Loading commit data...
dynload_os2.c Loading commit data...
dynload_shlib.c Loading commit data...
dynload_stub.c Loading commit data...
dynload_win.c Loading commit data...
errors.c Loading commit data...
exceptions.c Loading commit data...
fmod.c Loading commit data...
frozen.c Loading commit data...
frozenmain.c Loading commit data...
future.c Loading commit data...
getargs.c Loading commit data...
getcompiler.c Loading commit data...
getcopyright.c Loading commit data...
getcwd.c Loading commit data...
getmtime.c Loading commit data...
getopt.c Loading commit data...
getplatform.c Loading commit data...
getversion.c Loading commit data...
graminit.c Loading commit data...
hypot.c Loading commit data...
import.c Loading commit data...
importdl.c Loading commit data...
importdl.h Loading commit data...
marshal.c Loading commit data...
memmove.c Loading commit data...
modsupport.c Loading commit data...
mystrtoul.c Loading commit data...
pyfpe.c Loading commit data...
pystate.c Loading commit data...
pythonmain.c Loading commit data...
pythonrun.c Loading commit data...
sigcheck.c Loading commit data...
strdup.c Loading commit data...
strerror.c Loading commit data...
strtod.c Loading commit data...
structmember.c Loading commit data...
symtable.c Loading commit data...
sysmodule.c Loading commit data...
thread.c Loading commit data...
thread_beos.h Loading commit data...
thread_cthread.h Loading commit data...
thread_foobar.h Loading commit data...
thread_lwp.h Loading commit data...
thread_nt.h Loading commit data...
thread_os2.h Loading commit data...
thread_pth.h Loading commit data...
thread_pthread.h Loading commit data...
thread_sgi.h Loading commit data...
thread_solaris.h Loading commit data...
thread_wince.h Loading commit data...
traceback.c Loading commit data...