Unit 'System' Package
[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] [#rtl]

IEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Enumerator support interface.

Declaration

Source position: objpash.inc line 290

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.

  property Current: TObject; [r]

  

Return the current item.

end;

Inheritance

IEnumerator

  

Enumerator support interface.

|

IUnknown

  

Basic interface for all COM-based interfaces.

|

IInterface

  

Basic interface for all COM based interfaces.

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.

See also

IEnumerable

  

Interface to retrieve an enumerator from a class.


Documentation generated on: Jul 24 2023