| [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 273
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.  |