IEnumerator
[Properties (by Name)][Methods (by Name)][Events (by Name)]
Enumerator support interface
Declaration
Source position: objpash.inc line 275
Type
IEnumerator = interface (IInterface)
function GetCurrent : TObject;
function MoveNext : Boolean;
procedure Reset;
Current : TObject;
end
;
Description
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.
Members
Member | Type | Visibility | Description |
---|---|---|---|
Current | Property | default | Return the current item |
GetCurrent | Method | default | Returns the current element in the iteration cycle |
MoveNext | Method | default | Move to the next value |
Reset | Method | default | Reset the pointer |
Inheritance
Class | Description |
---|---|
IEnumerator | Enumerator support interface |
See also
Name | Description |
---|---|
IEnumerable | Interface to retrieve an enumerator from a class. |
TObject | Base class of all classes. |