Open main menu

CDOT Wiki β

Changes

Iterator

13 bytes added, 11:44, 21 January 2007
no edit summary
== Introduction to Iterators ==
 
An iterator may be though of as a kind of pointer that has two basic operations, referencing one particular element in a collection, and pointing to the next element in the collection (current, and current.next). Depending on the language the iterator is implemented in, other functionality may be added to the iterator object, such as remove and update and so on.
An easy way to think of iterators, is to also think of, Lists, Linked Lists, Binary Trees, and Hash Tables, because they operate very much in the same way that iterators do.
 
=== Implicit Iterators ===
 
Some object-oriented languages have iterator support included within the language, without having to implement an explicit iterator object. Some of these language include:
* C#
* Python
* PERL
 
=== UML ===
[[Image:Iterator1.png]]
 
== Code Samples ==
The following are samples of code from C#, Java, Python, and PERL, displaying how they use their implicit iterators.
 
=== C# ===
foreach (Value v in list)
Console.WriteLine(v);
 
=== Java ===
for (Value v : list)
System.out.print(v);
 
=== Python ===
for Value in List:
print Value
 
=== PERL ===
print "$val\n";
}
 
== Examples ==
=== C++ ===
 
This is a code snippet from a file called [http://www.google.com/codesearch?hl=en&q=show:3faa7gjspWs:MYoIVGFTT9Q:S6XmQxn_Gd8&sa=N&ct=rd&cs_p=http://gentoo.osuosl.org/distfiles/gnome-vfsmm-1.3.5.tar.gz&cs_f=gnome-vfsmm-1.3.5/libgnomevfs/libgnomevfsmm/transfer.cc transfer.cc], created by the Gnome VFS Development Team. This particular function, transfer_list, transfers a list of URI's from the source list to the target list. The source code repository can be found [http://www.google.com/codesearch?hl=en&q=show:7egWPqDRuQg:6mN6dZ6BKgU&sa=N&ct=rdp&cs_p=http://gentoo.osuosl.org/distfiles/gnome-vfsmm-1.3.5.tar.gz here].
transfer_list_uris(sources, targets, options, error_mode, overwrite_mode, slot);
}
 
== References ==
 
* [http://en.wikipedia.org/wiki/Iterator Wikipedia entry on Iterator]
* [http://thor.info.uaic.ro/ Universitatea Alexandru Ioan Cuza]
1
edit