TFPGObjectList
[Properties (by Name)][Methods (by Name)][Events (by Name)]
Generic object list
Declaration
Source position: fgl.pp line 166
Type
  generic TFPGObjectList<T> = class (TFPSList)
  private
    TCompareFunc = function(const Item1: T; const Item2: T) : Integer;
    PT = ^T;
    TTypeList = PT;
    PTypeList = ^TTypeList;
    TFPGListEnumeratorSpec = specialize TFPGListEnumerator<;
  protected
    FOnCompare : TCompareFunc;
    FFreeObjects : Boolean;
    procedure CopyItem(Src: Pointer; Dest: Pointer);  Override;
    procedure Deref(Item: Pointer);  Override;
    function Get(Index: Integer) : T;
    function GetList : PTypeList;
    function ItemPtrCompare(Item1: Pointer; Item2: Pointer) : Integer;
    procedure Put(Index: Integer; const Item: T);
    function GetLast : T;
    procedure SetLast(const Value: T);
    function GetFirst : T;
    procedure SetFirst(const Value: T);
  public
    constructor Create(FreeObjects: Boolean);
    function Add(const Item: T) : Integer;
    function Extract(const Item: T) : T;
    First : T;
    function GetEnumerator : TFPGListEnumeratorSpec;
    function IndexOf(const Item: T) : Integer;
    procedure Insert(Index: Integer; const Item: T);
    Last : T;
    procedure AddList(Source: TFPGObjectList);
    procedure Assign(Source: TFPGObjectList);
    function Remove(const Item: T) : Integer;
    procedure Sort(Compare: TCompareFunc);
    procedure Sort(Compare: TCompareFunc; 
                  SortingAlgorithm: PSortingAlgorithm);
    Items[Index: Integer]: T; default;
    List : PTypeList;
    FreeObjects : Boolean;
  end
  ;
Description
TFPGList can be used to specialize a list for any class type T that does not require reference counting (such as interfaced objects). It will specialize to a list with the same methods as TFPSList or classes.TFPList or TFPObjectList
Members
| Member | Type | Visibility | Description | 
|---|---|---|---|
| Add | Method | public | Add new object of class T to the list. | 
| AddList | Method | public | Adds the elements from another list | 
| Assign | Method | public | Copy objects from Source list | 
| CopyItem | Method | protected | |
| Create | Method | public | Instantiate a new object list. | 
| Deref | Method | protected | |
| Extract | Method | public | Extract an item from the list | 
| FFreeObjects | Field | protected | |
| First | Property | public | First non-nil item | 
| FOnCompare | Field | protected | |
| FreeObjects | Property | public | Does the list own the objects or not? | 
| Get | Method | protected | |
| GetEnumerator | Method | public | Return a list enumerator for T. | 
| GetFirst | Method | protected | |
| GetLast | Method | protected | |
| GetList | Method | protected | |
| IndexOf | Method | public | Index of item | 
| Insert | Method | public | Insert a new object in the list | 
| ItemPtrCompare | Method | protected | |
| Items | Property | public | Indexed access to objects in the list. | 
| Last | Property | public | Last non-Nil object | 
| List | Property | public | Internal list pointer | 
| PT | Type | private | |
| PTypeList | Type | private | |
| Put | Method | protected | |
| Remove | Method | public | Remove an object from the list. | 
| SetFirst | Method | protected | |
| SetLast | Method | protected | |
| Sort | Method | public | Sort the objects in the list | 
| TCompareFunc | Type | private | |
| TFPGListEnumeratorSpec | Type | private | |
| TTypeList | Type | private | 
Inheritance
| Class | Description | 
|---|---|
| TFPGObjectList | Generic object list | 
See also
| Name | Description | 
|---|---|
| classes.TFPList | Class to manage collections of pointers. | 
| TFPSList | Basic list of memory blocks |