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 |