Knowledge (XXG)

Iterator

Source πŸ“

2526: 723:
directly to the data elements. But this approach will negatively impact the iterator performance, since it must effectuate a double pointer following to access the actual data element. This is usually not desirable, because many algorithms using the iterators invoke the iterators data access operation more often than the advance method. It is therefore especially important to have iterators with very efficient data access.
36: 2057:
This approach does not properly separate the advance operation from the actual data access. If the data element must be used more than once for each advance, it needs to be stored in a temporary variable. When an advance is needed without data access (i.e. to skip a given data element), the access is
1435:
Iterator types are separate from the container types they are used with, though the two are often used in concert. The category of the iterator (and thus the operations defined for it) usually depends on the type of container, with for instance arrays or vectors providing random access iterators, but
726:
All in all, this is always a trade-off between security (iterators remain always valid) and efficiency. Most of the time, the added security is not worth the efficiency price to pay for it. Using an alternative collection (for example a singly linked list instead of a vector) would be a better choice
722:
An alternative way to keep the number of updates bound relatively to the collection size would be to use a kind of handle mechanism, that is a collection of indirect pointers to the collection's elements that must be updated with the collection, and let the iterators point to these handles instead of
718:
For collections that may move around their data in memory, the only way to not invalidate the iterator is, for the collection, to somehow keep track of all the currently alive iterators and update them on the fly. Since the number of iterators at a given time may be arbitrarily large in comparison to
5194:
An internal iterator is implemented by the member functions of the class which has the iteration logic. An external iterator is implemented by a separate class which can be attached to the object which has iteration logic. The advantage of external iterator is that, many iterators can be made active
1188:
needed to transform the lower limit into the upper one, equals the number of items in the designated range; the number of distinct iterator values involved is one more than that. By convention, the lower limiting iterator "points to" the first element in the range, while the upper limiting iterator
5332:
An index only can be used for containers that (efficiently) support random access (i.e. direct access to an element at a given position). An iterator is a more general concept. Iterators offer efficient traversal of linked lists, files, and a number of other data structures. It often leads to the
4406:
Ruby implements iterators quite differently; all iterations are done by means of passing callback closures to container methods - this way Ruby not only implements basic iteration but also several patterns of iteration like function mapping, filters and reducing. Ruby also supports an alternative
2484:
Alternatively, it may be desirable to abstract the mechanisms of the array storage container from the user by defining a custom object-oriented MATLAB implementation of the Iterator Pattern. Such an implementation supporting external iteration is demonstrated in MATLAB Central File Exchange item
705:
An iterator may allow the collection object to be modified without invalidating the iterator. For instance, once an iterator has advanced beyond the first element it may be possible to insert additional elements into the beginning of the collection with predictable results. With indexing this is
1467:
that modify the structure of the container itself; these are methods of the container class, but in addition require one or more iterator values to specify the desired operation. While it is possible to have multiple iterators pointing into the same container simultaneously, structure-modifying
714:
programming, where the interrelationships between objects and the effects of operations may not be obvious. By using an iterator one is isolated from these sorts of consequences. This assertion must however be taken with a grain of salt, because more often than not, for efficiency reasons, the
2344:
In the case of internal iteration where the user can supply an operation to the iterator to perform over every element of a collection, many built-in operators and MATLAB functions are overloaded to execute over every element of an array and return a corresponding output array implicitly.
2264:
object provides implicit conversions to do this. Implicit conversions are a feature of Scala: methods that, when visible in the current scope, automatically insert calls to themselves into relevant expressions at the appropriate place to make them typecheck when they otherwise would not.
1448:, and yet another type is provided for "reverse iterators", whose operations are defined in such a way that an algorithm performing a usual (forward) traversal will actually do traversal in reverse order when called with reverse iterators. Most containers also provide a separate 1161:, in order of increasing possibilities. All of the standard container template types provide iterators of one of these categories. Iterators generalize pointers to elements of an array (which indeed can be used as iterators), and their syntax is designed to resemble that of 247:
values to its caller multiple times, instead of returning just once. Most iterators are naturally expressible as generators, but because generators preserve their local state between invocations, they're particularly well-suited for complicated, stateful iterators, such as
656:– they provide a potentially infinite iterable (but not necessarily indexable) object. Several languages, such as Perl and Python, implement streams as iterators. In Python, iterators are objects representing streams of data. Alternative implementations of stream include 605:
This iteration style is sometimes called "internal iteration" because its code fully executes within the context of the iterable object (that controls all aspects of iteration), and the programmer only provides the operation to execute at each step (using an
3978:, which allows for a finer operation of iteration in several contexts such as adding or eliminating items, or skipping over them to access other items. Thus, any user-defined class can support standard iteration by composing these roles and implementing the 1468:
operations may invalidate certain iterator values (the standard specifies for each case whether this may be so); using an invalidated iterator is an error that will lead to undefined behavior, and such errors need not be signaled by the run time system.
201:
An iterator allows a consumer to process each element of a collection while isolating the consumer from the internal structure of the collection. The collection can store elements in any manner while the consumer can access them as a sequence.
1183:
Traversal using iterators usually involves a single varying iterator, and two fixed iterators that serve to delimit a range to be traversed. The distance between the limiting iterators, in terms of the number of applications of the operator
2280:
arrays. In the case of external iteration where the onus is on the user to advance the traversal and request next elements, one can define a set of elements within an array storage structure and traverse the elements using the
5110:
A user-defined iterator usually takes the form of a code reference that, when executed, calculates the next item in a list and returns it. When the iterator reaches the end of the list, it returns an agreed-upon
2065:
method of the iterator removes the most recently visited element from the container while keeping the iterator usable. Adding or removing elements by calling the methods of the container (also from the same
198:). It also provides for creation and initialization to a first element and indicates whether all elements have been traversed. In some programming contexts, an iterator provides additional functionality. 205:
In object-oriented programming, an iterator class is usually designed in tight coordination with the corresponding collection class. Usually, the collection provides the methods for creating iterators.
3148:
constant allows PHP scripts to iterate result sets with billions of rows with very little memory usage. These features are not exclusive to PHP nor to its MySQL class implementations (e.g. the
699:
Iterators can provide a consistent way to iterate on data structures of all kinds, and therefore make the code more readable, reusable, and less sensitive to a change in the data structure.
5488: 2543:
was introduced in version 4.0 and made compatible with objects as values in 4.0 Beta 4. However, support for iterators was added in PHP 5 through the introduction of the internal
1436:
sets (which use a linked structure as implementation) only providing bidirectional iterators. One same container type can have more than one associated iterator type; for instance the
1133:" statement to produce a sequence of elements instead of returning an object instance, will be transformed by the compiler into a new class implementing the appropriate interface. 1746:
syntax can be used to specify to operation to be iterated inline, avoiding the need to define a named function. Here is an example of for-each iteration using a lambda function:
702:
An iterator can enforce additional restrictions on access, such as ensuring that elements cannot be skipped or that a previously visited element cannot be accessed a second time.
3836:
Iterators however can be used and defined explicitly. For any iterable type, there are several methods that control different aspects of the iteration process. For example, the
5425: 5345: 5246: 5207: 2210:, iterators have a rich set of methods similar to collections, and can be used directly in for loops. Indeed, both iterators and collections inherit from a common base trait - 5595:
C# 8.0 and .NET Core 3.0 – Modern Cross-Platform Development: Build Applications with C#, .NET Core, Entity Framework Core, ASP.NET Core, and ML.NET Using Visual Studio Code
1500:, that define the range over which iteration occurs. But no explicit iterator object is subsequently exposed as the iteration proceeds. This example shows the use of 2089:
with a similar API but that allows forward and backward iteration, provides its current index in the list and allows setting of the list element at its position.
3300:
types support iteration, as well as many classes that are part of the standard library. The following example shows typical implicit iteration over a sequence:
638:. These functions still require explicit iterator objects as their initial input, but the subsequent iteration does not expose an iterator object to the user. 522:
way of iterating through the elements of a collection without an explicit iterator. An iterator object may exist, but is not represented in the source code.
2070:) makes the iterator unusable. An attempt to get the next element throws the exception. An exception is also thrown if there are no more elements remaining ( 3597:
are a fundamental part of the language, although usually users do not have to care about iterators. Their usage is hidden behind iteration APIs such as the
715:
iterator implementation is so tightly bound to the collection that it does preclude modification of the underlying collection without invalidating itself.
947:
method, to rewind the enumerator back to its initial position. The enumerator initially points to a special value before the first element, so a call to
3460:
exception will be raised when no more elements are left. The following example shows an equivalent iteration over a sequence using explicit iterators:
2525: 257: 2229:
Java iterators and collections can be automatically converted into Scala iterators and collections, respectively, simply by adding the single line
152: 252:. There are subtle differences and distinctions in the use of the terms "generator" and "iterator", which vary between authors and languages. In 3582: 1197:
the upper limit. The latter does not reference any element of the container at all but is a valid iterator value that can be compared against.
5492: 5602: 5534: 5277: 966:
property, to obtain the value of the element currently being pointed at;Container classes typically implement this interface. However, the
2489:. This is written in the new class-definition syntax introduced with MATLAB software version 7.6 (R2008a) and features a one-dimensional 5142:
Iterators were introduced as constructs to allow looping over abstract data structures without revealing their internal representation.
5856: 5640: 5568: 3452:
method internally, which returns the next element in the container. (The previous statement applies to Python 3.x. In Python 2.x, the
2497:(ADT) as the mechanism for storing a heterogeneous (in data type) set of elements. It provides the functionality for explicit forward 3852:
if no more values could be produced. The following example shows an equivalent iteration over a collection using explicit iterators:
5851: 5058: 1915:
method advances the iterator and returns the value pointed to by the iterator. The first element is obtained upon the first call to
719:
the size of the tied collection, updating them all will drastically impair the complexity guarantee on the collection's operations.
119: 1189:
does not point to any element in the range, but rather just beyond the end of the range. For traversal of an entire container, the
5462: 2116: 2576: 1894: 1900: 3297: 2093: 159: 145: 1888: 971: 483: 57: 2085: 5777: 3277: 862: 680:
to access each element. Although indexing may be used with collections, the use of iterators may have advantages such as:
511: 253: 5861: 2207: 617:
or similar constructs may also make use of implicit iterators during the construction of the result list, as in Python:
236: 226: 2098: 1878: 740:
Iterators can be categorised according to their functionality. Here is a (non-exhaustive) list of iterator categories:
158:
An iterator is often implemented in terms of the structure underlying a collection implementation and is often tightly
100: 3594: 3293: 1873: 888: 515: 499: 3440:
Iterators however can be used and defined explicitly. For any iterable sequence type or class, the built-in function
1455:
Simple traversal of a container object or a range of its elements (including modification of those elements unless a
72: 2079: 503: 173: 1149:
and describes several categories of iterators differing in the repertoire of operations they allow. These include
46: 5234:
Some authors use the term iterator, and others the term generator. Some make subtle distinctions between the two.
2067: 800: 495: 53: 5263:
Freeman, Eric; Freeman, Elisabeth; Kathy, Sierra; Bert, Bates (2004). Hendrickson, Mike; Loukides, Mike (eds.).
2547:
interface. The two main interfaces for implementation in PHP scripts that enable objects to be iterated via the
79: 5698: 5067: 2559:. The latter does not require the implementing class to declare all required methods, instead it implements an 1176:
operators are used to reference the element to which the iterator points and pointer arithmetic operators like
1162: 939:
method, which advances to the next element and indicates whether the end of the collection has been reached; a
710:
The ability of a collection to be modified while iterating through its elements has become necessary in modern
3218:// The \mysqli_result class that is returned by the method call implements the internal Traversable interface. 1471:
Implicit iteration is also partially supported by C++ through the use of standard function templates, such as
5225:. The University of Western Ontario, Department of Computer Science. Archived from the original on 2012-08-06 657: 1146: 2054:
can be called repeatedly, we use it to insert commas between the elements but not after the last element.
1452:
type, for which operations that would allow changing the values pointed to are intentionally not defined.
86: 684:
Counting loops are not suitable to all data structures, in particular to data structures with no or slow
5836: 411: 5656: 5404: 3342:
method of a dictionary can be iterated over where it yields corresponding key,value pairs as a tuple:
3280:
are a fundamental part of the language and in many cases go unseen as they are implicitly used in the
260:: a function that returns an iterator. An example of a Python generator returning an iterator for the 2572: 2353:
functions can be leveraged for performing custom or user defined operations over "native" arrays and
133: 68: 5792: 5222: 5182: 3566:
Any user-defined class can support standard iteration (either implicit or explicit) by defining an
983: 814:
Different languages or libraries used with these languages define iterator types. Some of them are
693: 415: 5817: 3848:
method is supposed to produce and return the next value if possible, or return the sentinel value
2214:. However, because of the rich set of methods available in the Scala collections library, such as 5807: 5697:
Internal refers to the fact that the interface cannot be implemented in PHP scripts, only in the
3289: 2587: 1165: 647: 614: 607: 519: 166: 141: 5167:
You can think of an iterator as pointing to an item that is part of a larger container of items.
4704:
trait and return an associated iterator type for their elements, enabling their use directly in
1904:
method. Iterators are created by the corresponding container class, typically by a method named
5320: 5127: 2486: 418:) that traverses a collection while applying a function to each element. For example, Python's 217:, however, only provides the traversal functionality and not the element access functionality. 5798: 5636: 5598: 5564: 5530: 5419: 5339: 5273: 5240: 5201: 3335: 1646: 1459:
is used) can be done using iterators alone. But container types may also provide methods like
5832: 5822: 5440: 5360: 2498: 2494: 689: 261: 185: 3071:
All methods of the example class are used during the execution of a complete foreach loop (
2226:
etc., it is often not necessary to deal with iterators directly when programming in Scala.
5827: 5802: 5299: 5155: 5076: 711: 1485: 943:
property, to obtain the value of the element currently being pointed at. and an optional
676:
Instead of using an iterator, many languages allow the use of a subscript operator and a
5782: 3444:
is used to create an iterator object. The iterator object can then be iterated with the
5466: 4547:
Rust makes use of external iterators throughout the standard library, including in its
2560: 2276:
supports both external and internal implicit iteration using either "native" arrays or
1473: 987: 924: 249: 5788: 5098: 93: 5845: 1440:
container type allows traversal either using (raw) pointers to its elements (of type
685: 491: 5504:β€’The iterator types iterator and const_iterator are of the forward iterator category 4623:
method, which returns an iterator that in turn yields the elements to the loop. The
3616:
The following example shows typical implicit iteration over a collection of values:
3338:) can also be directly iterated over, when the dictionary keys are returned; or the 5264: 3570:
method that returns an iterator object. The iterator object then needs to define a
2537: 1479: 677: 653: 214: 210: 4001:
role. The DNA strand is split into a group of trinucleotides when iterated over:
974:
can operate on any object providing such a method, even if it does not implement
17: 5812: 979: 35: 5753: 5677: 5061: β€“ Reusable design for writing code that provides a well-defined function 240: 5382: 5405:"Types of iterator: Output vs. input vs. forward vs. random access iterator" 4627:
loop (or indeed, any method that consumes the iterator), proceeds until the
2582:
The simplest implementation is by wrapping an array, this can be useful for
1923:
test method is used. The following example shows a simple use of iterators:
1919:. To determine when all the elements in the container have been visited the 232: 5711: 2575:
provides several classes to work with special iterators. PHP also supports
194:) and can change its internal state to provide access to the next element ( 3680:
method can be invoked on the hash to iterate over the key and values; the
2058:
nonetheless performed, though the returned value is ignored in this case.
5053: 1743: 1739: 155:
that provide items in different orders, such as forwards and backwards.
5732: 3285: 2107: 967: 727:(globally more efficient) if the stability of the iterators is needed. 527: 472:# Iterating over this iterator would result in 0, 1, 4, 9, 16, ..., 81. 162:
to the collection to enable the operational semantics of the iterator.
5185:. CareerRide.COM. 2009-04-03. Archived from the original on 2012-09-19 4696:
Users can create custom iterators by creating a type implementing the
3672:
Raku hashes can also be directly iterated over; this yields key-value
634:
language has a few function templates for implicit iteration, such as
2273: 1492:
When used they must be initialized with existing iterators, usually
5133:. The University of Western Ontario, Department of Computer Science 1142: 850: 757: 631: 487: 5183:"Difference between an external iterator and an internal iterator" 5491:. Intel Threading Building Blocks for Open Source. Archived from 5441:"Introduction to SPL: Introduction to Standard PHP Library (SPL)" 1949:// Iterator<MyType> iter = list.iterator(); // in J2SE 5.0 507: 231:
One way of implementing an iterator is via a restricted form of
4646:
All collections provided by the standard library implement the
3075:). The iterator's methods are executed in the following order: 3082:
ensures that the internal structure starts from the beginning.
2583: 2533: 1424:// Print value of each element 'x' of 'items'. 1379:// In C++11, the same can be done without using any iterators: 1289:// Append integer value '9' to vector 'items'. 1268:// Append integer value '2' to vector 'items'. 1247:// Append integer value '5' to vector 'items'. 1180:
are used to modify iterators in the traversal of a container.
831: 665: 661: 29: 3132:
The next example illustrates a PHP class that implements the
525:
An implicit iterator is often manifest in language syntax as
2524: 568:
In Ruby, iteration requires accessing an iterator property:
422:
function applies a caller-defined function to each element:
4555:
method of an iterator until it is consumed. The most basic
190:
An iterator provides access to an element of a collection (
3263:// Act on the returned row, which is an associative array. 1882:
interface allows the iteration of container classes. Each
1557:// Function that will process each item of the collection. 1200:
The following example shows a typical use of an iterator.
927:(i.e. C#) are called "enumerators" and represented by the 630:
Sometimes the implicit hidden nature is only partial. The
5407:. stackoverflow. Archived from the original on 2012-08-08 3974:
is more complex and provides a series of methods such as
993:
The following shows a simple use of iterators in C# 2.0:
534:
In Python, a collection object can be iterated directly:
5657:"java.util: Interface Iterator<E>: Method Summary" 5223:"A Technique for Generic Iteration and Its Optimization" 5128:"A Technique for Generic Iteration and Its Optimization" 3140:
class to act upon the data before it is returned to the
1373:// And print value of 'items' for current index. 27:
Object that enables processing collection items in order
5063:
Pages displaying short descriptions of redirect targets
3118:
advances to the next element in the internal structure.
5799:
A Technique for Generic Iteration and Its Optimization
144:
that progressively provides access to each item of a
5778:
Java's Iterator, Iterable and ListIterator Explained
5072:
Pages displaying wikidata descriptions as a fallback
2477:
to each element of an array using built-in function
2198:
methods but has no methods to modify the container.
1772:// A for-each iteration loop with a lambda function. 1769:// Any standard container type of ItemType elements. 1527:// Any standard container type of ItemType elements. 213:
is sometimes also referred to as a loop iterator. A
151:
A collection may provide multiple iterators via its
60:. Unsourced material may be challenged and removed. 5177: 5175: 2529:UML class diagram of the Iterator interface in PHP 2110:) loop for iterating over collections and arrays. 954:Enumerators are typically obtained by calling the 5323:. BYTES. Archived from the original on 2012-08-09 4689:, etc.) as methods provided automatically by the 3993:class represents a DNA strand and implements the 5424:: CS1 maint: bot: original URL status unknown ( 5344:: CS1 maint: bot: original URL status unknown ( 5245:: CS1 maint: bot: original URL status unknown ( 5206:: CS1 maint: bot: original URL status unknown ( 5158:. Cprogramming.com - Your resource for C and C++ 4666:is automatically provided an implementation for 4531:Ruby can also iterate over fixed lists by using 3684:method to iterate over the hash's keys; and the 3073:foreach ($ iterator as $ key => $ current) {} 2128:loop, the preceding example can be rewritten as 706:problematic since the index numbers must change. 5258: 5256: 4411:, the following three examples are equivalent: 2380:% Perform a custom operation over each element 2186:Some containers also use the older (since 1.0) 1430:// Both of the for loops print "529". 5195:simultaneously on the existing or same object. 4712:type implements a custom, unbounded iterator: 4539:method or doing a for each on them, as above. 3970:to be implemented by the composing class. The 4635:value (iterations yielding elements return a 8: 5633:"Effective Java: Programming Language Guide" 5121: 5119: 4700:trait. Custom collections can implement the 4654:method). Iterators themselves implement the 1145:language makes wide use of iterators in its 5520: 5518: 5516: 5514: 5512: 4662:method. Furthermore, any type implementing 3239:'SELECT `a`, `b`, `c` FROM `table`' 2473:that implicitly applies custom subfunction 3688:method to iterate over the hash's values. 2061:For collection types that support it, the 816: 742: 5489:"concurrent_unordered_set Template Class" 2337:traverses an array of integers using the 1121:: a method that is declared as returning 165:An iterator is behaviorally similar to a 120:Learn how and when to remove this message 5626: 5624: 5622: 5620: 5618: 5616: 5614: 5588: 5586: 5584: 5582: 5580: 5554: 5552: 5550: 5548: 5546: 3930:# stop if we reached iteration's end 3136:interface, which could be wrapped in an 2419:% Echo resulting array to Command Window 5300:"Glossary β€” Python 3.8.4 documentation" 5126:Watt, Stephen M. (September 16, 2006). 5089: 5070: β€“ concept in computer programming 3954:All iterable types in Raku compose the 482:Some object-oriented languages such as 5417: 5337: 5272:. Vol. 1. O'REILLY. p. 338. 5238: 5199: 4407:syntax for the basic iterating method 3966:is quite simple and only requires the 3574:method that returns the next element. 982:). Both interfaces were expanded into 652:Iterators are a useful abstraction of 384:# The generator constructs an iterator 5361:"C++ Iteratoren: Iterator-Kategorien" 2487:Design Pattern: Iterator (Behavioral) 1898:method, and may optionally support a 1193:method provides the lower limit, and 958:method of an object implementing the 7: 4673:Iterators support various adapters ( 3296:. All of Python's standard built-in 58:adding citations to reliable sources 5099:"Understanding and Using Iterators" 4658:trait, which requires defining the 2096:5.0 release of Java introduced the 1349:// Iterate through 'items'. 5635:(third ed.). Addison-Wesley. 5333:generation of more efficient code. 3144:loop. The usage together with the 2357:arrays respectively. For example, 914:In different programming languages 25: 5789:Understanding and Using Iterators 5059:Design pattern (computer science) 4559:loop for example iterates over a 4551:loop, which implicitly calls the 3913:# grab iteration's next value 2102:interface to support an enhanced 5097:Gatcomb, Joshua (Jun 16, 2005). 3840:method is supposed to return an 2329:% Echo integer to Command Window 2212:scala.collection.TraversableOnce 2074:has previously returned false). 951:is required to begin iterating. 34: 5079: β€“ Software design pattern 4650:trait (meaning they define the 3578: 3334:Python dictionaries (a form of 1640:The same can be achieved using 1444:), or values of a special type 1118: 45:needs additional citations for 2567:) that returns an instance of 2285:-loop construct. For example, 1446:std::vector<T>::iterator 176:programming language in 1974. 1: 5363:(in German). cppreference.com 5319:Vecerina, Ivan (2006-02-01). 4610:// Prints the numbers 0 to 41 2368:% Define an array of integers 2290:% Define an array of integers 1635:// A for-each iteration loop. 256:, a generator is an iterator 5559:Skeet, Jon (23 March 2019). 3108:returned value is stored in 3098:returned value is stored in 243:, a generator coroutine can 227:Generator (computer science) 5756:. The PHP Group. 2013-06-20 5712:"The Traversable interface" 5680:. The PHP Group. 2000-02-20 4535:s and either calling their 3891:# grab iterator for @values 2469:defines a primary function 5878: 5813:Boost C++ Iterator Library 5266:Head First Design Patterns 3776:"$ key: $ value" 3194:'host.example.com' 645: 224: 183: 5857:Object (computer science) 5525:Albahari, Joseph (2022). 5042:// Prints 1, 2, 5, and 13 4619:loop will call a value's 3581:implement this iteration 3456:method is equivalent.) A 3448:function, which uses the 2493:array realization of the 2314:% ... do something with n 1650:value as third iterator: 5852:Iteration in programming 5699:C (programming language) 5068:Range (computer science) 4714: 4565: 4496: 4462: 4413: 4203: 4193:class composes both the 4003: 3854: 3810:"$ key => " 3690: 3618: 3462: 3390: 3344: 3302: 3158: 3128:and the loop is aborted. 3096:$ iterator->current() 2598:Knowledge (XXG)\Iterator 2592: 2359: 2287: 2231: 2130: 1925: 1748: 1652: 1506: 1202: 995: 896:Recursive array iterator 619: 570: 536: 424: 270: 5403:larsmans (2011-03-06). 3212:'database_name' 3080:$ iterator->rewind() 2495:List Abstract Data Type 2120:method that returns an 1159:random access iterators 1155:bidirectional iterators 613:Languages that support 5631:Bloch, Joshua (2018). 4643:is the element type). 3122:$ iterator->valid() 3086:$ iterator->valid() 2530: 2446:% Simply multiply by 2 2086:java.util.ListIterator 788:Random access iterator 754:Bidirectional iterator 672:Contrast with indexing 172:Iterators date to the 5837:Reference description 5823:PHP: Object Iteration 5383:"Iterators: Concepts" 4670:that returns itself. 3609:, list indexing with 3294:generator expressions 3152:class implements the 3116:$ iterator->next() 2528: 2513:methods for use in a 2124:. Using the enhanced 1876:JDK 1.2 release, the 1647:std::ostream_iterator 1117:C# 2.0 also supports 646:Further information: 412:higher order function 239:. By contrast with a 3173:MYSQLI_REPORT_STRICT 3156:interface as well). 3106:$ iterator->key() 2573:Standard PHP Library 1438:std::vector<T> 134:computer programming 54:improve this article 5862:Abstract data types 5833:What are iterators? 5527:C# 10 in a Nutshell 5321:"index vs iterator" 4161:'GATTACATA' 4130:'GATTACATA' 4026:/^^ <>+ $ $ / 3962:role, or both. The 3290:list comprehensions 3167:MYSQLI_REPORT_ERROR 2703:'rewinding' 2501:traversal with the 2190:class. It provides 1073:// implicit version 998:// explicit version 660:languages, such as 615:list comprehensions 416:anonymous functions 268:statement follows: 5469:on 18 October 2018 4708:loops. Below, the 4615:Specifically, the 3206:'password' 3200:'username' 2588:information hiding 2531: 2077:Additionally, for 1879:java.util.Iterator 1872:Introduced in the 1166:pointer arithmetic 858:Directory iterator 648:Stream (computing) 608:anonymous function 502:(later versions), 494:(later versions), 490:(later versions), 5754:"PHP 5 ChangeLog" 5678:"PHP 4 ChangeLog" 5604:978-1-098-12195-2 5536:978-1-098-12195-2 5461:Collier, Andrew. 5279:978-0-596-00712-6 5221:Watt, Stephen M. 4631:method returns a 4375:"Hello" 3997:by composing the 3336:associative array 3245:MYSQLI_USE_RESULT 3146:MYSQLI_USE_RESULT 3021:'valid: ' 2557:IteratorAggregate 2345:Furthermore, the 2260:to the file. The 2192:hasMoreElements() 1486:std::accumulate() 1151:forward iterators 1129:), but uses the " 923:Iterators in the 911: 910: 847:Constant iterator 807: 806: 478:Implicit iterator 408:internal iterator 402:Internal Iterator 262:Fibonacci numbers 196:element traversal 130: 129: 122: 104: 18:IteratorAggregate 16:(Redirected from 5869: 5765: 5764: 5762: 5761: 5750: 5744: 5743: 5741: 5740: 5729: 5723: 5722: 5720: 5719: 5708: 5702: 5695: 5689: 5688: 5686: 5685: 5674: 5668: 5667: 5665: 5664: 5653: 5647: 5646: 5628: 5609: 5608: 5590: 5575: 5574: 5556: 5541: 5540: 5522: 5507: 5506: 5501: 5500: 5485: 5479: 5478: 5476: 5474: 5465:. Archived from 5463:"Iterators in R" 5458: 5452: 5451: 5449: 5448: 5439:Kevin Waterson. 5436: 5430: 5429: 5423: 5415: 5413: 5412: 5400: 5394: 5393: 5391: 5390: 5381:Kevin Waterson. 5378: 5372: 5371: 5369: 5368: 5359:Kevin Waterson. 5356: 5350: 5349: 5343: 5335: 5329: 5328: 5316: 5310: 5309: 5307: 5306: 5296: 5290: 5289: 5287: 5286: 5271: 5260: 5251: 5250: 5244: 5236: 5231: 5230: 5218: 5212: 5211: 5205: 5197: 5191: 5190: 5179: 5170: 5169: 5164: 5163: 5151: 5145: 5144: 5139: 5138: 5132: 5123: 5114: 5113: 5107: 5106: 5094: 5073: 5064: 5043: 5040: 5037: 5034: 5031: 5028: 5025: 5022: 5019: 5016: 5013: 5010: 5007: 5004: 5001: 4998: 4995: 4992: 4989: 4986: 4983: 4980: 4977: 4974: 4971: 4968: 4964: 4961: 4958: 4955: 4952: 4949: 4946: 4943: 4940: 4937: 4934: 4931: 4928: 4925: 4922: 4919: 4916: 4913: 4910: 4907: 4904: 4901: 4898: 4895: 4892: 4889: 4886: 4883: 4880: 4877: 4874: 4871: 4868: 4865: 4862: 4859: 4856: 4853: 4849: 4846: 4843: 4839: 4836: 4833: 4830: 4827: 4824: 4821: 4818: 4815: 4812: 4809: 4806: 4803: 4800: 4797: 4794: 4791: 4788: 4785: 4782: 4779: 4776: 4773: 4770: 4767: 4764: 4761: 4757: 4754: 4751: 4748: 4745: 4742: 4739: 4736: 4733: 4730: 4727: 4724: 4721: 4718: 4711: 4707: 4703: 4699: 4692: 4688: 4684: 4680: 4676: 4669: 4665: 4661: 4657: 4653: 4649: 4642: 4638: 4634: 4630: 4626: 4622: 4618: 4611: 4608: 4605: 4602: 4599: 4596: 4593: 4590: 4587: 4584: 4581: 4578: 4575: 4572: 4569: 4562: 4558: 4554: 4550: 4538: 4534: 4527: 4524: 4521: 4518: 4515: 4512: 4509: 4506: 4503: 4500: 4494:or even shorter 4490: 4487: 4484: 4481: 4478: 4475: 4472: 4469: 4466: 4456: 4453: 4450: 4447: 4444: 4441: 4438: 4435: 4432: 4429: 4426: 4423: 4420: 4417: 4410: 4397: 4394: 4391: 4388: 4384: 4380: 4376: 4372: 4368: 4365: 4361: 4358: 4354: 4350: 4347: 4343: 4339: 4335: 4331: 4328: 4324: 4320: 4317: 4313: 4309: 4306: 4302: 4298: 4294: 4290: 4286: 4282: 4278: 4275: 4272: 4268: 4264: 4261: 4258: 4254: 4251: 4248: 4245: 4242: 4238: 4235: 4232: 4229: 4226: 4222: 4219: 4216: 4213: 4210: 4207: 4200: 4196: 4192: 4185: 4182: 4178: 4174: 4170: 4166: 4162: 4158: 4154: 4151: 4148: 4145: 4142: 4139: 4135: 4131: 4127: 4123: 4120: 4116: 4112: 4108: 4104: 4100: 4096: 4092: 4089: 4085: 4081: 4077: 4073: 4070: 4066: 4063: 4059: 4056: 4052: 4049: 4046: 4043: 4039: 4035: 4031: 4027: 4023: 4019: 4016: 4013: 4010: 4007: 4000: 3996: 3992: 3985: 3981: 3977: 3973: 3969: 3965: 3961: 3957: 3950: 3947: 3944: 3941: 3937: 3934: 3931: 3927: 3923: 3920: 3917: 3914: 3910: 3906: 3902: 3899: 3895: 3892: 3888: 3884: 3880: 3877: 3873: 3869: 3865: 3861: 3858: 3851: 3847: 3844:object, and the 3843: 3839: 3832: 3829: 3826: 3823: 3819: 3815: 3811: 3808: 3804: 3800: 3796: 3793: 3790: 3787: 3784: 3781: 3777: 3774: 3770: 3766: 3762: 3758: 3755: 3752: 3749: 3746: 3743: 3739: 3736: 3732: 3728: 3725: 3721: 3717: 3713: 3709: 3705: 3701: 3697: 3694: 3687: 3683: 3679: 3675: 3668: 3665: 3662: 3659: 3655: 3652: 3648: 3644: 3641: 3637: 3633: 3629: 3625: 3622: 3612: 3608: 3604: 3600: 3573: 3569: 3562: 3559: 3556: 3553: 3550: 3547: 3544: 3541: 3538: 3535: 3532: 3529: 3526: 3523: 3520: 3517: 3514: 3511: 3508: 3505: 3502: 3499: 3496: 3493: 3490: 3487: 3484: 3481: 3478: 3475: 3472: 3469: 3466: 3459: 3455: 3451: 3447: 3443: 3436: 3433: 3430: 3427: 3424: 3421: 3418: 3415: 3412: 3409: 3406: 3403: 3400: 3397: 3394: 3387: 3384: 3381: 3378: 3375: 3372: 3369: 3366: 3363: 3360: 3357: 3354: 3351: 3348: 3341: 3330: 3327: 3324: 3321: 3318: 3315: 3312: 3309: 3306: 3288:) statement, in 3283: 3267: 3264: 3261: 3258: 3255: 3252: 3249: 3246: 3243: 3240: 3237: 3234: 3231: 3228: 3225: 3222: 3219: 3216: 3213: 3210: 3207: 3204: 3201: 3198: 3195: 3192: 3189: 3186: 3183: 3180: 3177: 3174: 3171: 3168: 3165: 3162: 3155: 3151: 3147: 3143: 3139: 3138:IteratorIterator 3135: 3123: 3117: 3111: 3107: 3101: 3097: 3092:in this example. 3087: 3081: 3074: 3067: 3064: 3061: 3058: 3055: 3052: 3049: 3046: 3043: 3040: 3037: 3034: 3031: 3028: 3025: 3022: 3019: 3016: 3013: 3010: 3007: 3004: 3001: 2998: 2995: 2992: 2989: 2986: 2983: 2980: 2977: 2974: 2971: 2968: 2965: 2962: 2959: 2956: 2953: 2950: 2947: 2944: 2941: 2938: 2935: 2932: 2929: 2926: 2923: 2920: 2917: 2914: 2911: 2908: 2905: 2902: 2899: 2896: 2893: 2890: 2887: 2884: 2881: 2878: 2875: 2872: 2869: 2866: 2863: 2860: 2857: 2854: 2851: 2848: 2845: 2842: 2839: 2836: 2833: 2830: 2827: 2824: 2821: 2818: 2815: 2812: 2809: 2806: 2803: 2800: 2797: 2794: 2791: 2788: 2785: 2782: 2779: 2776: 2773: 2770: 2767: 2764: 2761: 2758: 2755: 2752: 2749: 2746: 2743: 2740: 2737: 2734: 2731: 2728: 2725: 2722: 2719: 2716: 2713: 2710: 2707: 2704: 2701: 2698: 2695: 2692: 2689: 2686: 2683: 2680: 2677: 2674: 2671: 2668: 2665: 2662: 2659: 2656: 2653: 2650: 2647: 2644: 2641: 2638: 2635: 2632: 2629: 2626: 2623: 2620: 2617: 2614: 2611: 2608: 2605: 2602: 2599: 2596: 2570: 2566: 2558: 2554: 2550: 2546: 2540: 2516: 2512: 2508: 2504: 2492: 2480: 2476: 2472: 2465: 2462: 2459: 2456: 2453: 2450: 2447: 2444: 2441: 2438: 2435: 2432: 2429: 2426: 2423: 2420: 2417: 2414: 2411: 2408: 2405: 2402: 2399: 2396: 2393: 2390: 2387: 2384: 2381: 2378: 2375: 2372: 2369: 2366: 2363: 2356: 2352: 2348: 2340: 2333: 2330: 2327: 2324: 2321: 2318: 2315: 2312: 2309: 2306: 2303: 2300: 2297: 2294: 2291: 2284: 2279: 2263: 2256: 2253: 2250: 2247: 2244: 2241: 2238: 2235: 2225: 2221: 2217: 2213: 2197: 2193: 2189: 2182: 2179: 2176: 2173: 2170: 2167: 2164: 2161: 2158: 2155: 2152: 2149: 2146: 2143: 2140: 2137: 2134: 2127: 2123: 2119: 2113: 2105: 2101: 2088: 2082: 2073: 2064: 2053: 2046: 2043: 2040: 2037: 2034: 2031: 2028: 2025: 2022: 2019: 2016: 2013: 2010: 2007: 2004: 2001: 1998: 1995: 1992: 1989: 1986: 1983: 1980: 1977: 1974: 1971: 1968: 1965: 1962: 1959: 1956: 1953: 1950: 1947: 1944: 1941: 1938: 1935: 1932: 1929: 1922: 1918: 1914: 1907: 1903: 1897: 1891: 1885: 1881: 1863: 1860: 1857: 1854: 1851: 1848: 1845: 1842: 1839: 1836: 1833: 1830: 1827: 1824: 1821: 1818: 1815: 1812: 1809: 1806: 1803: 1800: 1797: 1794: 1791: 1788: 1785: 1782: 1779: 1776: 1773: 1770: 1767: 1764: 1761: 1758: 1755: 1752: 1734: 1731: 1728: 1725: 1722: 1719: 1716: 1713: 1710: 1707: 1704: 1701: 1698: 1697:ostream_iterator 1695: 1692: 1689: 1686: 1683: 1680: 1677: 1674: 1671: 1668: 1665: 1662: 1659: 1656: 1649: 1643: 1636: 1633: 1630: 1627: 1624: 1621: 1618: 1615: 1612: 1609: 1606: 1603: 1600: 1597: 1594: 1591: 1588: 1585: 1582: 1579: 1576: 1573: 1570: 1567: 1564: 1561: 1558: 1555: 1552: 1549: 1546: 1543: 1540: 1537: 1534: 1531: 1528: 1525: 1522: 1519: 1516: 1513: 1510: 1503: 1499: 1495: 1488: 1482: 1476: 1466: 1462: 1458: 1451: 1447: 1443: 1439: 1431: 1428: 1425: 1422: 1419: 1416: 1413: 1410: 1407: 1404: 1401: 1398: 1395: 1392: 1389: 1386: 1383: 1380: 1377: 1374: 1371: 1368: 1365: 1362: 1359: 1356: 1353: 1350: 1347: 1344: 1341: 1338: 1335: 1332: 1329: 1326: 1323: 1320: 1317: 1314: 1311: 1308: 1305: 1302: 1299: 1296: 1293: 1290: 1287: 1284: 1281: 1278: 1275: 1272: 1269: 1266: 1263: 1260: 1257: 1254: 1251: 1248: 1245: 1242: 1239: 1236: 1233: 1230: 1227: 1224: 1221: 1218: 1215: 1212: 1209: 1206: 1196: 1192: 1187: 1179: 1175: 1171: 1147:Standard Library 1132: 1128: 1124: 1113: 1110: 1107: 1104: 1101: 1098: 1095: 1092: 1089: 1086: 1083: 1080: 1077: 1074: 1071: 1068: 1065: 1062: 1059: 1056: 1053: 1050: 1047: 1044: 1041: 1038: 1035: 1032: 1029: 1026: 1023: 1020: 1017: 1014: 1011: 1008: 1005: 1002: 999: 977: 965: 961: 957: 950: 946: 942: 938: 934: 930: 839:Caching iterator 817: 796:Trivial iterator 764:Forward iterator 743: 637: 626: 623: 601: 598: 595: 592: 589: 586: 583: 580: 577: 574: 564: 561: 558: 555: 552: 549: 546: 543: 540: 530: 473: 470: 467: 464: 461: 458: 455: 452: 449: 446: 443: 440: 437: 434: 431: 428: 421: 397: 394: 391: 388: 385: 382: 379: 376: 373: 370: 367: 364: 361: 358: 355: 352: 349: 346: 343: 340: 337: 334: 331: 328: 325: 322: 319: 316: 313: 310: 307: 304: 301: 298: 295: 292: 289: 286: 283: 280: 277: 274: 267: 186:Iterator pattern 125: 118: 114: 111: 105: 103: 62: 38: 30: 21: 5877: 5876: 5872: 5871: 5870: 5868: 5867: 5866: 5842: 5841: 5803:Stephen M. Watt 5774: 5769: 5768: 5759: 5757: 5752: 5751: 5747: 5738: 5736: 5735:. The PHP Group 5731: 5730: 5726: 5717: 5715: 5714:. The PHP Group 5710: 5709: 5705: 5696: 5692: 5683: 5681: 5676: 5675: 5671: 5662: 5660: 5655: 5654: 5650: 5643: 5630: 5629: 5612: 5605: 5593:Price, Mark J. 5592: 5591: 5578: 5571: 5558: 5557: 5544: 5537: 5524: 5523: 5510: 5498: 5496: 5487: 5486: 5482: 5472: 5470: 5460: 5459: 5455: 5446: 5444: 5438: 5437: 5433: 5416: 5410: 5408: 5402: 5401: 5397: 5388: 5386: 5380: 5379: 5375: 5366: 5364: 5358: 5357: 5353: 5336: 5326: 5324: 5318: 5317: 5313: 5304: 5302: 5298: 5297: 5293: 5284: 5282: 5280: 5269: 5262: 5261: 5254: 5237: 5228: 5226: 5220: 5219: 5215: 5198: 5188: 5186: 5181: 5180: 5173: 5161: 5159: 5156:"STL Iterators" 5153: 5152: 5148: 5136: 5134: 5130: 5125: 5124: 5117: 5104: 5102: 5096: 5095: 5091: 5086: 5077:Visitor pattern 5071: 5062: 5050: 5045: 5044: 5041: 5038: 5035: 5033:"{n}" 5032: 5029: 5026: 5023: 5020: 5017: 5014: 5011: 5008: 5005: 5002: 4999: 4996: 4993: 4990: 4987: 4984: 4981: 4978: 4975: 4972: 4969: 4966: 4962: 4959: 4956: 4953: 4950: 4947: 4944: 4941: 4938: 4935: 4932: 4929: 4926: 4923: 4920: 4917: 4914: 4911: 4908: 4905: 4902: 4899: 4896: 4893: 4890: 4887: 4884: 4881: 4878: 4875: 4872: 4869: 4866: 4863: 4860: 4857: 4854: 4851: 4847: 4844: 4841: 4837: 4834: 4831: 4828: 4825: 4822: 4819: 4816: 4813: 4810: 4807: 4804: 4801: 4798: 4795: 4792: 4789: 4786: 4783: 4780: 4777: 4774: 4771: 4768: 4765: 4762: 4759: 4755: 4752: 4749: 4746: 4743: 4740: 4737: 4734: 4731: 4728: 4725: 4722: 4719: 4716: 4709: 4705: 4701: 4697: 4690: 4686: 4682: 4678: 4674: 4667: 4663: 4659: 4655: 4651: 4647: 4640: 4636: 4632: 4628: 4624: 4620: 4616: 4613: 4612: 4609: 4606: 4603: 4600: 4597: 4594: 4591: 4588: 4585: 4582: 4579: 4576: 4573: 4570: 4567: 4560: 4556: 4552: 4548: 4545: 4536: 4532: 4529: 4528: 4525: 4522: 4519: 4516: 4513: 4510: 4507: 4504: 4501: 4498: 4492: 4491: 4488: 4485: 4482: 4479: 4476: 4473: 4470: 4467: 4464: 4458: 4457: 4454: 4451: 4448: 4445: 4442: 4439: 4436: 4433: 4430: 4427: 4424: 4421: 4418: 4415: 4408: 4404: 4399: 4398: 4395: 4392: 4389: 4386: 4382: 4378: 4374: 4370: 4366: 4363: 4359: 4356: 4352: 4348: 4345: 4341: 4337: 4333: 4329: 4326: 4322: 4318: 4315: 4311: 4307: 4304: 4300: 4296: 4292: 4288: 4284: 4280: 4276: 4273: 4270: 4266: 4262: 4259: 4256: 4252: 4249: 4246: 4243: 4240: 4236: 4233: 4230: 4227: 4224: 4220: 4217: 4214: 4211: 4208: 4205: 4198: 4194: 4190: 4187: 4186: 4183: 4180: 4176: 4172: 4168: 4164: 4160: 4156: 4152: 4149: 4146: 4143: 4140: 4137: 4133: 4129: 4125: 4121: 4118: 4114: 4110: 4106: 4102: 4098: 4094: 4090: 4087: 4083: 4079: 4075: 4071: 4068: 4064: 4061: 4057: 4054: 4050: 4047: 4044: 4041: 4037: 4033: 4029: 4025: 4021: 4017: 4014: 4011: 4008: 4005: 3998: 3994: 3990: 3983: 3979: 3975: 3971: 3967: 3963: 3959: 3955: 3952: 3951: 3948: 3945: 3942: 3939: 3935: 3932: 3929: 3925: 3921: 3918: 3915: 3912: 3908: 3904: 3900: 3897: 3893: 3890: 3886: 3882: 3878: 3875: 3871: 3867: 3863: 3859: 3856: 3849: 3845: 3841: 3837: 3834: 3833: 3830: 3827: 3825:# three => 3 3824: 3821: 3817: 3814:%word-to-number 3813: 3809: 3806: 3802: 3798: 3795:%word-to-number 3794: 3791: 3788: 3785: 3782: 3779: 3775: 3772: 3768: 3764: 3760: 3757:%word-to-number 3756: 3753: 3750: 3747: 3745:# three => 3 3744: 3741: 3737: 3734: 3730: 3727:%word-to-number 3726: 3723: 3719: 3716:'three' 3715: 3711: 3707: 3703: 3699: 3696:%word-to-number 3695: 3692: 3685: 3681: 3677: 3673: 3670: 3669: 3666: 3663: 3660: 3657: 3653: 3650: 3646: 3642: 3639: 3635: 3631: 3627: 3623: 3620: 3610: 3606: 3602: 3598: 3591: 3571: 3567: 3564: 3563: 3560: 3557: 3554: 3551: 3548: 3545: 3542: 3539: 3537:# in Python 3.x 3536: 3533: 3530: 3527: 3524: 3521: 3518: 3516:# in Python 2.x 3515: 3512: 3509: 3506: 3503: 3500: 3497: 3494: 3491: 3488: 3485: 3482: 3479: 3476: 3473: 3470: 3467: 3464: 3457: 3453: 3449: 3445: 3441: 3438: 3437: 3434: 3431: 3428: 3425: 3422: 3419: 3416: 3413: 3410: 3407: 3404: 3401: 3398: 3395: 3392: 3389: 3388: 3385: 3382: 3379: 3376: 3373: 3370: 3367: 3364: 3361: 3358: 3355: 3352: 3349: 3346: 3339: 3332: 3331: 3328: 3325: 3322: 3319: 3316: 3313: 3310: 3307: 3304: 3281: 3274: 3269: 3268: 3265: 3262: 3259: 3256: 3253: 3250: 3247: 3244: 3241: 3238: 3235: 3232: 3229: 3226: 3223: 3220: 3217: 3214: 3211: 3208: 3205: 3202: 3199: 3196: 3193: 3190: 3187: 3184: 3181: 3178: 3175: 3172: 3169: 3166: 3163: 3160: 3153: 3149: 3145: 3141: 3137: 3133: 3121: 3115: 3109: 3105: 3099: 3095: 3085: 3079: 3072: 3069: 3068: 3065: 3062: 3059: 3056: 3053: 3050: 3047: 3044: 3042:'false' 3041: 3038: 3035: 3032: 3029: 3026: 3023: 3020: 3017: 3014: 3011: 3008: 3005: 3002: 2999: 2996: 2993: 2990: 2987: 2984: 2981: 2978: 2975: 2972: 2969: 2966: 2963: 2960: 2957: 2954: 2951: 2948: 2945: 2942: 2939: 2936: 2933: 2930: 2927: 2924: 2921: 2918: 2915: 2912: 2909: 2906: 2903: 2900: 2897: 2894: 2891: 2888: 2885: 2882: 2879: 2876: 2873: 2870: 2867: 2864: 2861: 2858: 2855: 2852: 2849: 2846: 2843: 2840: 2837: 2834: 2831: 2828: 2825: 2822: 2819: 2816: 2813: 2810: 2807: 2804: 2801: 2798: 2795: 2792: 2789: 2786: 2783: 2780: 2778:"current: 2777: 2774: 2771: 2768: 2765: 2762: 2759: 2756: 2753: 2750: 2747: 2744: 2741: 2738: 2735: 2732: 2729: 2726: 2723: 2720: 2717: 2714: 2711: 2708: 2705: 2702: 2699: 2696: 2693: 2690: 2687: 2684: 2681: 2678: 2675: 2672: 2669: 2666: 2663: 2660: 2657: 2654: 2651: 2648: 2645: 2642: 2639: 2636: 2633: 2630: 2627: 2624: 2621: 2618: 2615: 2612: 2609: 2606: 2603: 2600: 2597: 2594: 2568: 2564: 2556: 2552: 2548: 2544: 2538: 2523: 2514: 2510: 2506: 2502: 2490: 2478: 2474: 2470: 2467: 2466: 2463: 2460: 2457: 2454: 2451: 2448: 2445: 2442: 2439: 2436: 2433: 2430: 2427: 2424: 2421: 2418: 2415: 2412: 2409: 2406: 2403: 2400: 2397: 2394: 2391: 2388: 2385: 2382: 2379: 2376: 2373: 2370: 2367: 2364: 2361: 2354: 2350: 2346: 2338: 2335: 2334: 2331: 2328: 2325: 2322: 2319: 2316: 2313: 2310: 2307: 2304: 2301: 2298: 2295: 2292: 2289: 2282: 2277: 2271: 2262:JavaConversions 2261: 2258: 2257: 2254: 2251: 2249:JavaConversions 2248: 2245: 2242: 2239: 2236: 2233: 2223: 2219: 2215: 2211: 2204: 2195: 2191: 2187: 2184: 2183: 2180: 2177: 2174: 2171: 2168: 2165: 2162: 2159: 2156: 2153: 2150: 2147: 2144: 2141: 2138: 2135: 2132: 2125: 2121: 2115: 2111: 2103: 2097: 2084: 2078: 2071: 2062: 2051: 2048: 2047: 2044: 2041: 2038: 2035: 2032: 2029: 2026: 2023: 2020: 2017: 2014: 2011: 2008: 2005: 2002: 1999: 1996: 1993: 1990: 1987: 1984: 1981: 1978: 1975: 1972: 1969: 1966: 1963: 1960: 1957: 1954: 1951: 1948: 1945: 1942: 1939: 1936: 1933: 1930: 1927: 1920: 1916: 1912: 1905: 1899: 1893: 1887: 1883: 1877: 1870: 1865: 1864: 1861: 1858: 1855: 1852: 1849: 1846: 1843: 1840: 1837: 1834: 1831: 1828: 1825: 1822: 1819: 1816: 1813: 1810: 1807: 1804: 1801: 1798: 1795: 1792: 1789: 1786: 1783: 1780: 1777: 1774: 1771: 1768: 1765: 1762: 1759: 1756: 1753: 1750: 1744:lambda function 1736: 1735: 1732: 1729: 1726: 1723: 1720: 1717: 1714: 1711: 1708: 1705: 1702: 1699: 1696: 1693: 1690: 1687: 1684: 1681: 1678: 1675: 1672: 1669: 1666: 1663: 1660: 1657: 1654: 1645: 1641: 1638: 1637: 1634: 1631: 1628: 1625: 1622: 1619: 1616: 1613: 1610: 1607: 1604: 1601: 1598: 1595: 1592: 1589: 1586: 1583: 1580: 1577: 1574: 1571: 1568: 1565: 1562: 1559: 1556: 1553: 1550: 1547: 1544: 1541: 1538: 1535: 1532: 1529: 1526: 1523: 1520: 1517: 1514: 1511: 1508: 1501: 1497: 1493: 1484: 1478: 1474:std::for_each() 1472: 1464: 1460: 1456: 1449: 1445: 1441: 1437: 1433: 1432: 1429: 1426: 1423: 1420: 1417: 1414: 1411: 1408: 1405: 1402: 1399: 1396: 1393: 1390: 1387: 1384: 1381: 1378: 1375: 1372: 1369: 1366: 1363: 1360: 1357: 1354: 1351: 1348: 1345: 1342: 1339: 1336: 1333: 1330: 1327: 1324: 1321: 1318: 1315: 1312: 1309: 1306: 1303: 1300: 1297: 1294: 1291: 1288: 1285: 1282: 1279: 1276: 1273: 1270: 1267: 1264: 1261: 1258: 1255: 1252: 1249: 1246: 1243: 1240: 1237: 1234: 1231: 1228: 1225: 1222: 1219: 1216: 1213: 1210: 1207: 1204: 1194: 1190: 1185: 1177: 1173: 1169: 1139: 1130: 1126: 1122: 1115: 1114: 1111: 1108: 1105: 1102: 1099: 1096: 1093: 1090: 1087: 1084: 1081: 1078: 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 975: 963: 959: 956:GetEnumerator() 955: 948: 944: 940: 936: 932: 928: 921: 916: 869:Filter iterator 812: 780:Output iterator 738: 733: 712:object-oriented 674: 650: 644: 635: 628: 627: 624: 621: 603: 602: 599: 596: 593: 590: 587: 584: 581: 578: 575: 572: 566: 565: 562: 559: 556: 553: 550: 547: 544: 541: 538: 526: 480: 475: 474: 471: 468: 465: 462: 459: 456: 453: 450: 447: 444: 441: 438: 435: 432: 429: 426: 419: 404: 399: 398: 395: 392: 389: 386: 383: 380: 377: 374: 371: 368: 365: 362: 359: 356: 353: 350: 347: 344: 341: 338: 335: 332: 329: 326: 323: 320: 317: 314: 311: 308: 305: 302: 299: 296: 293: 290: 287: 284: 281: 278: 275: 272: 265: 264:using Python's 250:tree traversers 229: 223: 188: 182: 167:database cursor 126: 115: 109: 106: 63: 61: 51: 39: 28: 23: 22: 15: 12: 11: 5: 5875: 5873: 5865: 5864: 5859: 5854: 5844: 5843: 5840: 5839: 5830: 5825: 5820: 5818:Java interface 5815: 5810: 5805: 5801:" (217 KB) by 5795: 5793:Joshua Gatcomb 5785: 5783:.NET interface 5780: 5773: 5772:External links 5770: 5767: 5766: 5745: 5724: 5703: 5690: 5669: 5648: 5642:978-0134685991 5641: 5610: 5603: 5576: 5570:978-1617294532 5569: 5542: 5535: 5508: 5480: 5453: 5431: 5395: 5373: 5351: 5311: 5291: 5278: 5252: 5213: 5171: 5146: 5115: 5088: 5087: 5085: 5082: 5081: 5080: 5074: 5065: 5056: 5049: 5046: 4715: 4595:"{}" 4566: 4544: 4541: 4497: 4463: 4414: 4403: 4400: 4355:{ 4344:; 4336:{ 4204: 4004: 3855: 3691: 3619: 3590: 3587: 3463: 3391: 3345: 3303: 3273: 3270: 3159: 3130: 3129: 3119: 3113: 3103: 3093: 3083: 3036:'true' 2593: 2522: 2519: 2360: 2288: 2270: 2267: 2232: 2203: 2200: 2131: 2080:java.util.List 2039:", " 1926: 1869: 1866: 1749: 1653: 1507: 1457:const_iterator 1450:const_iterator 1203: 1138: 1135: 996: 925:.NET Framework 920: 917: 915: 912: 909: 908: 905: 901: 900: 897: 893: 892: 886: 882: 881: 878: 877:Limit iterator 874: 873: 870: 866: 865: 859: 855: 854: 848: 844: 843: 840: 836: 835: 829: 828:Array iterator 825: 824: 821: 811: 808: 805: 804: 797: 793: 792: 789: 785: 784: 781: 777: 776: 773: 772:Input iterator 769: 768: 765: 761: 760: 755: 751: 750: 747: 737: 734: 732: 731:Classification 729: 708: 707: 703: 700: 697: 673: 670: 643: 640: 620: 571: 537: 479: 476: 433:squared_digits 425: 414:(often taking 403: 400: 271: 225:Main article: 222: 219: 192:element access 184:Main article: 181: 178: 128: 127: 42: 40: 33: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 5874: 5863: 5860: 5858: 5855: 5853: 5850: 5849: 5847: 5838: 5834: 5831: 5829: 5828:STL Iterators 5826: 5824: 5821: 5819: 5816: 5814: 5811: 5809: 5806: 5804: 5800: 5796: 5794: 5790: 5786: 5784: 5781: 5779: 5776: 5775: 5771: 5755: 5749: 5746: 5734: 5728: 5725: 5713: 5707: 5704: 5700: 5694: 5691: 5679: 5673: 5670: 5658: 5652: 5649: 5644: 5638: 5634: 5627: 5625: 5623: 5621: 5619: 5617: 5615: 5611: 5606: 5600: 5596: 5589: 5587: 5585: 5583: 5581: 5577: 5572: 5566: 5562: 5555: 5553: 5551: 5549: 5547: 5543: 5538: 5532: 5528: 5521: 5519: 5517: 5515: 5513: 5509: 5505: 5495:on 2015-05-01 5494: 5490: 5484: 5481: 5468: 5464: 5457: 5454: 5442: 5435: 5432: 5427: 5421: 5406: 5399: 5396: 5384: 5377: 5374: 5362: 5355: 5352: 5347: 5341: 5334: 5322: 5315: 5312: 5301: 5295: 5292: 5281: 5275: 5268: 5267: 5259: 5257: 5253: 5248: 5242: 5235: 5224: 5217: 5214: 5209: 5203: 5196: 5184: 5178: 5176: 5172: 5168: 5157: 5154:Alex Allain. 5150: 5147: 5143: 5129: 5122: 5120: 5116: 5112: 5100: 5093: 5090: 5083: 5078: 5075: 5069: 5066: 5060: 5057: 5055: 5052: 5051: 5047: 4713: 4694: 4671: 4644: 4639:value, where 4564: 4542: 4540: 4495: 4461: 4412: 4401: 4202: 4184:# GAT-TAC-ATA 4002: 3987: 3853: 3831:# two => 2 3828:# one => 1 3751:# two => 2 3748:# one => 1 3708:'two' 3700:'one' 3689: 3676:objects. The 3617: 3614: 3596: 3593:Iterators in 3588: 3586: 3584: 3580: 3575: 3543:StopIteration 3461: 3458:StopIteration 3343: 3337: 3301: 3299: 3295: 3291: 3287: 3279: 3276:Iterators in 3271: 3161:mysqli_report 3157: 3127: 3120: 3114: 3104: 3094: 3091: 3084: 3078: 3077: 3076: 2610:ArrayIterator 2591: 2589: 2585: 2580: 2578: 2574: 2562: 2542: 2535: 2527: 2520: 2518: 2500: 2496: 2488: 2482: 2358: 2342: 2286: 2275: 2268: 2266: 2230: 2227: 2209: 2201: 2199: 2196:nextElement() 2129: 2118: 2109: 2100: 2095: 2090: 2087: 2081: 2075: 2069: 2059: 2055: 2050:To show that 1924: 1909: 1902: 1896: 1890: 1880: 1875: 1867: 1751:ContainerType 1747: 1745: 1741: 1651: 1648: 1509:ContainerType 1505: 1490: 1487: 1481: 1475: 1469: 1453: 1201: 1198: 1181: 1167: 1164: 1160: 1156: 1152: 1148: 1144: 1136: 1134: 1120: 1025:GetEnumerator 994: 991: 989: 985: 981: 973: 970:statement in 969: 962:interface. a 952: 926: 918: 913: 906: 903: 902: 898: 895: 894: 890: 887: 885:List iterator 884: 883: 879: 876: 875: 871: 868: 867: 864: 860: 857: 856: 852: 849: 846: 845: 841: 838: 837: 833: 830: 827: 826: 822: 819: 818: 815: 809: 802: 798: 795: 794: 790: 787: 786: 782: 779: 778: 774: 771: 770: 766: 763: 762: 759: 756: 753: 752: 748: 745: 744: 741: 735: 730: 728: 724: 720: 716: 713: 704: 701: 698: 695: 691: 687: 686:random access 683: 682: 681: 679: 671: 669: 667: 663: 659: 655: 654:input streams 649: 641: 639: 633: 618: 616: 611: 609: 569: 535: 532: 529: 523: 521: 517: 513: 509: 505: 501: 497: 493: 489: 485: 477: 423: 417: 413: 409: 401: 269: 263: 259: 255: 251: 246: 242: 238: 235:, known as a 234: 228: 220: 218: 216: 212: 207: 203: 199: 197: 193: 187: 179: 177: 175: 170: 168: 163: 161: 156: 154: 149: 148:, in order. 147: 143: 139: 135: 124: 121: 113: 102: 99: 95: 92: 88: 85: 81: 78: 74: 71: β€“  70: 66: 65:Find sources: 59: 55: 49: 48: 43:This article 41: 37: 32: 31: 19: 5758:. Retrieved 5748: 5737:. Retrieved 5727: 5716:. Retrieved 5706: 5693: 5682:. Retrieved 5672: 5661:. Retrieved 5651: 5632: 5594: 5560: 5529:. O'Reilly. 5526: 5503: 5497:. Retrieved 5493:the original 5483: 5471:. Retrieved 5467:the original 5456: 5445:. Retrieved 5434: 5409:. Retrieved 5398: 5387:. Retrieved 5376: 5365:. Retrieved 5354: 5331: 5325:. Retrieved 5314: 5303:. Retrieved 5294: 5283:. Retrieved 5265: 5233: 5227:. Retrieved 5216: 5193: 5187:. Retrieved 5166: 5160:. Retrieved 5149: 5141: 5135:. Retrieved 5109: 5103:. Retrieved 5092: 4702:IntoIterator 4695: 4672: 4668:IntoIterator 4648:IntoIterator 4645: 4614: 4546: 4530: 4493: 4459: 4405: 4360:IterationEnd 4325:){ 4303:; } 4287:) { 4188: 4074:) { 3988: 3953: 3926:IterationEnd 3850:IterationEnd 3835: 3671: 3615: 3592: 3576: 3565: 3439: 3333: 3275: 3150:PDOStatement 3131: 3125: 3089: 3070: 2934:"next: 2584:type hinting 2581: 2532: 2483: 2468: 2343: 2336: 2272: 2259: 2228: 2205: 2185: 2114:defines the 2091: 2076: 2060: 2056: 2049: 1910: 1871: 1737: 1644:, passing a 1639: 1491: 1470: 1454: 1434: 1199: 1182: 1168:, where the 1158: 1154: 1150: 1140: 1131:yield return 1116: 992: 986:versions in 953: 922: 904:XML iterator 813: 739: 725: 721: 717: 709: 678:loop counter 675: 651: 629: 612: 604: 567: 533: 524: 481: 407: 405: 244: 230: 215:loop counter 211:loop counter 208: 204: 200: 195: 191: 189: 171: 164: 157: 150: 137: 131: 116: 107: 97: 90: 83: 76: 64: 52:Please help 47:verification 44: 5733:"Iterators" 5563:. Manning. 5561:C# in Depth 5473:16 November 5443:. PHPRO.ORG 5270:(paperback) 4652:into_iter() 4621:into_iter() 4177:'-' 3889:; 3601:statement, 3154:Traversable 3134:Traversable 2856:"key: 2640:__construct 2579:since 5.5. 2569:Traversable 2565:getIterator 2545:Traversable 2475:myCustomFun 2434:myCustomFun 2401:myCustomFun 2188:Enumeration 2083:there is a 1886:provides a 1629:ProcessItem 1533:ProcessItem 1480:std::copy() 1127:IEnumerable 1123:IEnumerator 1001:IEnumerator 980:duck typing 976:IEnumerable 960:IEnumerable 935:provides a 933:IEnumerator 929:IEnumerator 658:data-driven 518:provide an 258:constructor 5846:Categories 5760:2015-10-13 5739:2015-10-13 5718:2015-10-13 5684:2015-10-13 5663:2012-08-08 5499:2012-08-09 5447:2012-08-09 5411:2012-08-09 5389:2012-08-09 5367:2012-08-09 5327:2012-08-08 5305:2020-07-15 5285:2012-08-09 5229:2012-08-08 5189:2012-08-08 5162:2012-08-08 5137:2012-08-08 5105:2012-08-08 5101:. Perl.com 5084:References 4533:Enumerator 4460:...and... 4362:} } } 4351:} 3783:# three: 3 3579:generators 3572:__next__() 3568:__iter__() 3450:__next__() 3408:dictionary 3368:dictionary 3356:dictionary 3298:collection 2577:Generators 2422:myNewArray 2383:myNewArray 2243:collection 2117:iterator() 1906:iterator() 1442:*<T> 1119:generators 949:MoveNext() 937:MoveNext() 931:interface. 823:Languages 749:Languages 736:Categories 636:for_each() 241:subroutine 146:collection 80:newspapers 69:"Iterator" 5808:Iterators 5797:Article " 5787:Article " 5597:. Packt. 4963:Fibonacci 4799:Fibonacci 4741:Fibonacci 4720:Fibonacci 4710:Fibonacci 4387:# OUTPUT: 4381:) { . 4181:# OUTPUT: 4147:# (A T A) 4144:# (T A C) 4141:# (G A T) 4138:# OUTPUT: 4132:) { . 4036: %% 3986:methods. 3940:# OUTPUT: 3903: := 3881: := 3822:# OUTPUT: 3780:# OUTPUT: 3742:# OUTPUT: 3658:# OUTPUT: 3577:Python's 3292:, and in 2616:\Iterator 2595:namespace 2551:loop are 2503:hasNext() 2471:simpleFun 2449:outScalar 2428:outScalar 2365:simpleFun 2341:keyword. 2072:hasNext() 2052:hasNext() 1921:hasNext() 1895:hasNext() 1642:std::copy 1277:push_back 1256:push_back 1235:push_back 1103:WriteLine 1055:WriteLine 799:C++ (old 520:intrinsic 372:fibonacci 276:fibonacci 237:generator 233:coroutine 221:Generator 153:interface 110:June 2010 5659:. Oracle 5420:cite web 5340:cite web 5241:cite web 5202:cite web 5054:Iteratee 5048:See also 5027:println! 4793:Iterator 4698:Iterator 4691:Iterator 4679:filter() 4664:Iterator 4656:Iterator 4589:println! 4367:Repeater 4338:$ !count 4334:$ !times 4330:$ !count 4321:(--> 4319:pull-one 4308:iterator 4299:, : 4263:$ !count 4253:required 4247:$ .times 4237:required 4221:Iterator 4215:Iterable 4209:Repeater 4199:Iterator 4195:Iterable 4191:Repeater 4115:iterator 4099:$ .chain 4091:iterator 4069:Strand:D 4058:$ .chain 4051:Iterable 3999:Iterable 3995:iterator 3984:pull-one 3980:iterator 3976:pull-one 3972:Iterator 3968:iterator 3964:Iterable 3960:Iterator 3956:Iterable 3911:; 3909:pull-one 3887:iterator 3846:pull-one 3842:Iterator 3838:iterator 3789:# two: 2 3786:# one: 1 3583:protocol 3477:sequence 3314:sequence 3227:$ mysqli 3179:$ mysqli 3124:returns 3088:returns 2973:function 2895:function 2817:function 2739:function 2682:function 2637:function 2563:method ( 2561:accessor 2553:Iterator 2479:arrayfun 2461:inScalar 2440:inScalar 2425:function 2389:arrayfun 2362:function 2347:arrayfun 2122:Iterator 2112:Iterable 2099:Iterable 2063:remove() 1943:iterator 1928:Iterator 1901:remove() 1884:Iterator 1847:<< 1841:<< 1817:ItemType 1781:for_each 1757:ItemType 1703:ItemType 1599:for_each 1575:<< 1569:<< 1542:ItemType 1515:ItemType 1502:for_each 1415:<< 1361:<< 1043:MoveNext 988:.NET 2.0 746:Category 573:iterable 548:iterable 138:iterator 5701:source. 5000:step_by 4693:trait. 4637:Some(T) 4396:# Hello 4393:# Hello 4390:# Hello 4349:$ !item 4301:$ times 4295: : 4285:$ times 4231:$ .item 4201:roles: 4084:$ chain 4082: : 4072:$ chain 3982:and/or 3936:$ value 3922:$ value 3901:$ value 3883:@values 3860:@values 3769:$ value 3654:$ value 3647:$ value 3643:@values 3624:@values 3613:, etc. 3340:items() 3286:foreach 3221:foreach 3188:\mysqli 3142:foreach 3100:$ value 3057:$ valid 3048:PHP_EOL 3030:$ valid 3003:current 2991:$ valid 2961:$ value 2952:PHP_EOL 2940:$ value 2907:$ value 2874:PHP_EOL 2805:$ value 2796:PHP_EOL 2784:$ value 2757:current 2751:$ value 2742:current 2709:PHP_EOL 2670:$ array 2649:$ array 2628:$ array 2622:private 2613:extends 2549:foreach 2539:foreach 2517:-loop. 2511:reset() 2413:myArray 2371:myArray 2351:cellfun 2311:myArray 2293:myArray 2220:collect 2108:foreach 2015:hasNext 1964:hasNext 1191:begin() 1097:Console 1076:foreach 1067:Current 1049:Console 984:generic 968:foreach 964:Current 945:Reset() 941:Current 872:PHP, R 688:, like 528:foreach 180:Pattern 160:coupled 94:scholar 5639:  5601:  5567:  5533:  5276:  5111:value. 4842:Option 4840:-> 4758:-> 4717:struct 4687:take() 4683:skip() 4660:next() 4629:next() 4563:type: 4553:next() 4357:return 4346:return 4332:<= 4316:method 4314:} 4305:method 4297:$ item 4293:bless: 4281:$ item 4274:method 4269:; 4255:; 4239:; 4223:{ 4095:DNA:D: 4088:method 4086:} 4080:bless: 4062:method 4060:; 4053:{ 4009:Strand 4006:subset 3958:role, 3896:{ 3805:{ 3801:-> 3771:{ 3763:-> 3738:$ pair 3733:{ 3731:$ pair 3729:-> 3718:=> 3710:=> 3702:=> 3686:values 3649:{ 3645:-> 3540:except 3454:next() 3446:next() 3442:iter() 3278:Python 3272:Python 3054:return 2997:$ this 2970:public 2958:return 2946:" 2919:$ this 2892:public 2880:return 2868:" 2841:$ this 2814:public 2802:return 2790:" 2763:$ this 2736:public 2721:$ this 2685:rewind 2679:public 2658:$ this 2634:public 2571:. The 2507:next() 2274:MATLAB 2269:MATLAB 2234:import 2224:filter 2157:System 2139:MyType 2068:thread 2021:System 1973:System 1917:next() 1913:next() 1889:next() 1738:Since 1730:" 1724:" 1461:insert 1211:vector 1157:, and 1082:MyType 1007:MyType 863:Python 853:, PHP 642:Stream 512:Python 492:Delphi 466:digits 445:lambda 427:digits 393:number 366:number 254:Python 142:object 140:is an 96:  89:  82:  75:  67:  5791:" by 5385:. sgi 5131:(PDF) 4829:& 4675:map() 4561:Range 4537:#next 4505:times 4271:multi 4206:class 4117:} }; 4107:rotor 4042:class 4034:chars 4022:match 4018:where 3820:}; } 3818:$ key 3803:$ key 3765:$ key 3558:value 3552:print 3549:break 3519:value 3498:value 3483:while 3432:value 3420:print 3414:items 3402:value 3383:value 3371:print 3362:value 3326:value 3320:print 3308:value 3254:$ row 3233:query 3230:-> 3126:false 3110:$ key 3012:false 3000:-> 2976:valid 2925:array 2922:-> 2883:$ key 2862:$ key 2847:array 2844:-> 2829:$ key 2769:array 2766:-> 2727:array 2724:-> 2715:reset 2664:array 2661:-> 2646:array 2625:array 2607:class 2604:final 2515:while 2237:scala 2208:Scala 2202:Scala 2169:print 2033:print 1985:print 1952:while 1820:& 1814:const 1793:begin 1740:C++11 1673:begin 1611:begin 1545:& 1539:const 1494:begin 1465:erase 1397:items 1325:items 1313:begin 1307:items 1271:items 1250:items 1229:items 1223:items 1195:end() 1174:-> 1109:value 1085:value 1031:while 861:PHP, 810:Types 694:trees 690:lists 622:names 597:value 588:value 560:value 554:print 542:value 410:is a 387:print 330:yield 324:limit 318:range 282:limit 266:yield 245:yield 136:, an 101:JSTOR 87:books 5637:ISBN 5599:ISBN 5565:ISBN 5531:ISBN 5475:2013 5426:link 5346:link 5274:ISBN 5247:link 5208:link 5012:take 4988:skip 4942:next 4936:Some 4930:next 4918:self 4906:self 4894:self 4882:self 4870:self 4864:next 4855:> 4852:Item 4848:Self 4845:< 4835:self 4823:next 4808:Item 4805:type 4790:impl 4766:Self 4760:Self 4738:impl 4633:None 4543:Rust 4520:puts 4483:puts 4449:puts 4434:each 4409:each 4402:Ruby 4353:else 4312:self 4289:self 4218:does 4212:does 4197:and 4189:The 4173:join 4169:join 4103:comb 4076:self 4048:does 3989:The 3938:; } 3924:=:= 3916:last 3905:$ it 3894:loop 3879:$ it 3799:keys 3740:; } 3682:keys 3674:Pair 3607:grep 3595:Raku 3589:Raku 3525:next 3510:next 3486:True 3471:iter 3090:true 3018:echo 2985:bool 2931:echo 2913:next 2898:next 2853:echo 2775:echo 2700:echo 2694:void 2586:and 2555:and 2541:loop 2509:and 2499:List 2491:cell 2355:cell 2349:and 2317:disp 2278:cell 2194:and 2148:list 2094:J2SE 2092:The 2009:iter 2000:()); 1997:next 1991:iter 1958:iter 1937:list 1931:iter 1911:The 1892:and 1874:Java 1868:Java 1856:endl 1838:cout 1760:> 1754:< 1718:cout 1706:> 1700:< 1661:copy 1584:endl 1566:cout 1530:void 1518:> 1512:< 1496:and 1483:and 1412:cout 1388:auto 1358:cout 1298:auto 1220:> 1214:< 1172:and 1141:The 1125:(or 1091:list 1061:iter 1037:iter 1019:list 1013:iter 1010:> 1004:< 919:.NET 907:PHP 899:PHP 891:, R 889:Java 880:PHP 842:PHP 834:, R 820:Type 791:C++ 783:C++ 775:C++ 767:C++ 664:and 594:puts 579:each 516:Ruby 508:Perl 500:Java 73:news 4982:fib 4973:for 4970:(); 4967:new 4957:fib 4954:let 4861:let 4832:mut 4814:u64 4796:for 4753:new 4747:pub 4732:u64 4726:u64 4706:for 4625:for 4617:for 4568:for 4557:for 4549:for 4526:end 4489:end 4477:... 4465:for 4455:end 4422:... 4383:say 4371:new 4364:for 4340:+= 4277:new 4260:Int 4257:has 4244:Int 4241:has 4228:Any 4225:has 4179:); 4167:(*. 4165:map 4157:new 4153:DNA 4150:say 4134:say 4126:new 4122:DNA 4119:for 4097:){ 4065:new 4055:has 4045:DNA 4040:}; 4030:and 4020:{ . 4015:Str 3991:DNA 3949:# 3 3946:# 2 3943:# 1 3933:say 3807:say 3792:for 3773:say 3754:for 3735:say 3724:for 3667:# 3 3664:# 2 3661:# 1 3651:say 3640:for 3603:map 3599:for 3492:try 3426:key 3417:(): 3396:key 3393:for 3377:key 3350:key 3347:for 3305:for 3282:for 3185:new 3009:!== 2835:key 2820:key 2536:'s 2534:PHP 2521:PHP 2392:(@( 2339:for 2332:end 2302:for 2283:for 2216:map 2206:In 2175:obj 2163:out 2142:obj 2133:for 2126:for 2104:for 2027:out 2018:()) 1979:out 1967:()) 1946:(); 1862:}); 1850:std 1832:std 1808:(), 1805:end 1796:(), 1775:std 1733:)); 1712:std 1691:std 1688:(), 1685:end 1676:(), 1655:std 1626:(), 1623:end 1614:(), 1593:std 1578:std 1560:std 1498:end 1463:or 1406:std 1382:for 1352:std 1334:(); 1331:end 1316:(); 1292:for 1217:int 1205:std 1143:C++ 1137:C++ 1046:()) 1028:(); 851:C++ 832:PHP 801:STL 758:C++ 692:or 666:sed 662:AWK 632:C++ 610:). 600:end 539:for 504:Lua 488:C++ 439:map 420:map 406:An 378:100 363:for 309:for 273:def 174:CLU 169:. 132:In 56:by 5848:: 5835:- 5613:^ 5579:^ 5545:^ 5511:^ 5502:. 5422:}} 5418:{{ 5342:}} 5338:{{ 5330:. 5255:^ 5243:}} 5239:{{ 5232:. 5204:}} 5200:{{ 5192:. 5174:^ 5165:. 5140:. 5118:^ 5108:. 5036:); 5009:). 4997:). 4979:in 4965::: 4850::: 4820:fn 4756:() 4750:fn 4735:); 4685:, 4681:, 4677:, 4604:); 4583:42 4580:.. 4574:in 4508:do 4499:42 4480:42 4471:in 4437:do 4425:42 4385:} 4377:, 4327:if 4323:Mu 4310:{ 4283:, 4265:= 4250:is 4234:is 4171:). 4163:). 4136:} 4113:). 4028:) 4012:of 3928:; 3919:if 3898:my 3876:my 3874:; 3870:, 3866:, 3862:= 3857:my 3812:~ 3778:} 3767:, 3761:kv 3722:; 3714:, 3706:, 3698:= 3693:my 3678:kv 3656:} 3638:; 3634:, 3630:, 3626:= 3621:my 3605:, 3585:. 3531:it 3513:() 3504:it 3465:it 3405:in 3353:in 3311:in 3251:as 3215:); 3176:); 3045:), 3006:() 2979:() 2928:); 2901:() 2850:); 2823:() 2772:); 2745:() 2730:); 2688:() 2590:. 2505:, 2481:. 2416:); 2410:), 2222:, 2218:, 2178:); 2042:); 2003:if 1908:. 1853::: 1835::: 1778::: 1742:, 1727:\n 1715::: 1694::: 1658::: 1632:); 1596::: 1581::: 1563::: 1504:. 1489:. 1477:, 1409::: 1367:it 1355::: 1340:it 1337:++ 1322:!= 1319:it 1301:it 1286:); 1265:); 1244:); 1208::: 1186:++ 1178:++ 1153:, 1112:); 1088:in 1070:); 990:. 972:C# 803:) 668:. 582:do 545:in 531:. 514:, 510:, 506:, 498:, 496:Go 486:, 484:C# 457:** 381:): 369:in 327:): 315:in 285:): 209:A 5763:. 5742:. 5721:. 5687:. 5666:. 5645:. 5607:. 5573:. 5539:. 5477:. 5450:. 5428:) 5414:. 5392:. 5370:. 5348:) 5308:. 5288:. 5249:) 5210:) 5039:} 5030:( 5024:{ 5021:) 5018:4 5015:( 5006:2 5003:( 4994:1 4991:( 4985:. 4976:n 4960:= 4951:} 4948:} 4945:) 4939:( 4933:; 4927:+ 4924:0 4921:. 4915:= 4912:1 4909:. 4903:; 4900:1 4897:. 4891:= 4888:0 4885:. 4879:; 4876:0 4873:. 4867:= 4858:{ 4838:) 4826:( 4817:; 4811:= 4802:{ 4787:} 4784:} 4781:) 4778:1 4775:, 4772:0 4769:( 4763:{ 4744:{ 4729:, 4723:( 4641:T 4607:} 4601:i 4598:, 4592:( 4586:{ 4577:0 4571:i 4523:n 4517:| 4514:n 4511:| 4502:. 4486:n 4474:0 4468:n 4452:n 4446:| 4443:n 4440:| 4431:. 4428:) 4419:0 4416:( 4379:3 4373:( 4369:. 4342:1 4291:. 4279:( 4267:1 4175:( 4159:( 4155:. 4128:( 4124:. 4111:3 4109:( 4105:. 4101:. 4093:( 4078:. 4067:( 4038:3 4032:. 4024:( 3907:. 3885:. 3872:3 3868:2 3864:1 3816:{ 3797:. 3759:. 3720:3 3712:2 3704:1 3636:3 3632:2 3628:1 3611:. 3561:) 3555:( 3546:: 3534:) 3528:( 3522:= 3507:. 3501:= 3495:: 3489:: 3480:) 3474:( 3468:= 3435:) 3429:, 3423:( 3411:. 3399:, 3386:) 3380:, 3374:( 3365:= 3359:: 3329:) 3323:( 3317:: 3284:( 3266:} 3260:{ 3257:) 3248:) 3242:, 3236:( 3224:( 3209:, 3203:, 3197:, 3191:( 3182:= 3170:| 3164:( 3112:. 3102:. 3066:} 3063:} 3060:; 3051:; 3039:: 3033:? 3027:( 3024:, 3015:; 2994:= 2988:{ 2982:: 2967:} 2964:; 2955:; 2949:, 2943:} 2937:{ 2916:( 2910:= 2904:{ 2889:} 2886:; 2877:; 2871:, 2865:} 2859:{ 2838:( 2832:= 2826:{ 2811:} 2808:; 2799:; 2793:, 2787:} 2781:{ 2760:( 2754:= 2748:{ 2733:} 2718:( 2712:; 2706:, 2697:{ 2691:: 2676:} 2673:; 2667:= 2655:{ 2652:) 2643:( 2631:; 2619:{ 2601:; 2464:; 2458:* 2455:2 2452:= 2443:) 2437:( 2431:= 2407:a 2404:( 2398:) 2395:a 2386:= 2377:; 2374:= 2326:) 2323:n 2320:( 2308:= 2305:n 2299:; 2296:= 2255:_ 2252:. 2246:. 2240:. 2181:} 2172:( 2166:. 2160:. 2154:{ 2151:) 2145:: 2136:( 2106:( 2045:} 2036:( 2030:. 2024:. 2012:. 2006:( 1994:. 1988:( 1982:. 1976:. 1970:{ 1961:. 1955:( 1940:. 1934:= 1859:; 1844:i 1829:{ 1826:) 1823:i 1811:( 1802:. 1799:c 1790:. 1787:c 1784:( 1766:; 1763:c 1721:, 1709:( 1682:. 1679:c 1670:. 1667:c 1664:( 1620:. 1617:c 1608:. 1605:c 1602:( 1590:} 1587:; 1572:i 1554:{ 1551:) 1548:i 1536:( 1524:; 1521:c 1427:} 1421:; 1418:x 1403:{ 1400:) 1394:: 1391:x 1385:( 1376:} 1370:; 1364:* 1346:{ 1343:) 1328:. 1310:. 1304:= 1295:( 1283:9 1280:( 1274:. 1262:2 1259:( 1253:. 1241:5 1238:( 1232:. 1226:; 1170:* 1163:C 1106:( 1100:. 1094:) 1079:( 1064:. 1058:( 1052:. 1040:. 1034:( 1022:. 1016:= 978:( 696:. 625:= 591:| 585:| 576:. 563:) 557:( 551:: 469:) 463:, 460:2 454:x 451:: 448:x 442:( 436:= 430:= 396:) 390:( 375:( 360:b 357:+ 354:a 351:, 348:b 345:= 342:b 339:, 336:a 333:a 321:( 312:_ 306:1 303:, 300:0 297:= 294:b 291:, 288:a 279:( 123:) 117:( 112:) 108:( 98:Β· 91:Β· 84:Β· 77:Β· 50:. 20:)

Index

IteratorAggregate

verification
improve this article
adding citations to reliable sources
"Iterator"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
computer programming
object
collection
interface
coupled
database cursor
CLU
Iterator pattern
loop counter
loop counter
Generator (computer science)
coroutine
generator
subroutine
tree traversers
Python
constructor
Fibonacci numbers

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑