[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] |
[Properties (by Name)] [Methods (by Name)] [Events (by Name)]
Enumerator support interface
Source position: objpash.inc line 250
type IEnumerator = interface(IInterface) |
||
function GetCurrent; |
|
Returns the current element in the iteration cycle |
function MoveNext; |
|
Move to the next value |
procedure Reset; |
|
Reset the pointer |
|
Return the current item |
|
end; |
|
Enumerator support interface |
|
IInterface |
||
? |
IEnumerator is the interface needed by the For ... in ... language construct, when operating on classes. It contains all methods that the compiler needs to implement a loop.
A for in loop like the following:
For O in MyObject do begin // do things end;
is treated by the compiler as equivalent to the following code:
Var I : IEnumerator; O : TObject; begin I:=MyObject.GetEnumerator; While I.MoveNext do begin O:=I.GetCurrent; // Do things end; end.
Any class that implements the IEnumerable interface must be able to return an IEnumerator instance for the compiler to use in a For in loop.
|
Interface to retrieve an enumerator from a class. |
lazarus-ccr.sourceforge.net |