Declaration¶
Source position: objpash.inc line 354
type
IEnumerator = interface(IInterface)
function GetCurrent : TObject;
function MoveNext : Boolean;
procedure Reset;
property Current: TObject; {r}
end;
Inheritance¶
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.
Properties¶
| Member | Visibility | Description |
|---|---|---|
| Current read only | default | Return the current item. |
Methods¶
| Member | Visibility | Description |
|---|---|---|
| GetCurrent | default | Returns the current element in the iteration cycle. |
| MoveNext | default | Move to the next value. |
| Reset | default | Reset the pointer. |
See also¶
| Name | Description |
|---|---|
| IEnumerable | Interface to retrieve an enumerator from a class. |