Changeset 90 for Generics/TemplateGenerics/Generic/GenericList.inc
- Timestamp:
- Nov 8, 2010, 12:29:19 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Generics/TemplateGenerics/Generic/GenericList.inc
r84 r90 14 14 function Get(Index: TGListIndex): TGListItem; 15 15 function GetCapacity: TGListIndex; 16 function GetLast: TGListItem; 17 function GetFirst: TGListItem; 16 18 procedure SetCapacity(const AValue: TGListIndex); 19 procedure SetLast(AValue: TGListItem); 20 procedure SetFirst(AValue: TGListItem); 17 21 procedure Put(Index: TGListIndex; const AValue: TGListItem); virtual; 18 22 procedure SetCount(const AValue: TGListIndex); 19 23 procedure QuickSort(L, R : TGListIndex; Compare: TGListSortCompare); 20 24 public 21 // All items 22 procedure Reverse; 25 function Add(Item: TGListItem): TGListIndex; 26 procedure AddArray(Values: array of TGListItem); 27 procedure AddList(List: TGList); 28 procedure Assign(List: TGList); 23 29 procedure Clear; virtual; 30 procedure Contract; 31 procedure Delete(Index: TGListIndex); virtual; 32 procedure DeleteItems(Index, Count: TGListIndex); 33 function Equals(List: TGList): Boolean; 24 34 procedure Expand; 25 procedure Contract;26 procedure Sort(Compare: TGListSortCompare);27 function Implode(Separator: string; Converter: TGListStringConverter): string;28 // Many items29 procedure MoveItems(CurIndex, NewIndex, Count: TGListIndex);30 procedure DeleteItems(Index, Count: TGListIndex);31 procedure Fill(Start, Count: TGListIndex; Value: TGListItem);32 // One item33 function Add(Item: TGListItem): TGListIndex;34 procedure Delete(Index: TGListIndex); virtual;35 35 function Extract(Item: TGListItem): TGListItem; 36 36 procedure Exchange(Index1, Index2: TGListIndex); 37 function First: TGListItem; 37 property First: TGListItem read GetFirst write SetFirst; 38 procedure Fill(Start, Count: TGListIndex; Value: TGListItem); 39 function Implode(Separator: string; Converter: TGListStringConverter): string; 38 40 function IndexOf(Item: TGListItem; Start: TGListIndex = 0): TGListIndex; 41 function IndexOfList(List: TGList; Start: TGListIndex = 0): TGListIndex; 39 42 procedure Insert(Index: TGListIndex; Item: TGListItem); 40 function Last: TGListItem; 43 procedure InsertList(Index: TGListIndex; List: TGList); 44 procedure InsertArray(Index: TGListIndex; Values: array of TGListItem); 41 45 procedure Move(CurIndex, NewIndex: TGListIndex); 46 procedure MoveItems(CurIndex, NewIndex, Count: TGListIndex); 42 47 function Remove(Item: TGListItem): TGListIndex; 43 property Items[Index: TGListIndex]: TGListItem read Get write Put; default; 44 // List 45 procedure AddList(List: TGList); 46 procedure Assign(List: TGList); 47 function Equals(List: TGList): Boolean; 48 procedure InsertList(Index: TGListIndex; List: TGList); 49 function IndexOfList(List: TGList; Start: TGListIndex = 0): TGListIndex; 50 // Other 48 procedure Reverse; 49 procedure Sort(Compare: TGListSortCompare); 50 procedure SetArray(Values: array of TGListItem); 51 51 property Count: TGListIndex read FCount write SetCount; 52 52 property Capacity: TGListIndex read GetCapacity write SetCapacity; 53 // Array 54 procedure AddArray(Values: array of TGListItem); 55 procedure SetArray(Values: array of TGListItem); 56 procedure InsertArray(Index: TGListIndex; Values: array of TGListItem); 53 property Items[Index: TGListIndex]: TGListItem read Get write Put; default; 54 property Last: TGListItem read GetLast write SetLast; 57 55 end; 58 56 … … 172 170 end; 173 171 174 function TGList.First: TGListItem;175 begin176 if FCount = 0 then177 raise EListError.CreateFmt(SListIndexError, [0])178 else179 Result := Items[0];180 end;181 182 172 function TGList.IndexOf(Item: TGListItem; Start: TGListIndex): TGListIndex; 183 173 begin … … 230 220 end; 231 221 232 function TGList. Last: TGListItem;222 function TGList.GetLast: TGListItem; 233 223 begin 234 224 if FCount = 0 then … … 236 226 else 237 227 Result := Items[FCount - 1]; 228 end; 229 230 procedure TGList.SetLast(AValue: TGListItem); 231 begin 232 if FCount = 0 then 233 raise EListError.CreateFmt(SListIndexError, [0]) 234 else 235 Items[FCount - 1] := AValue; 236 end; 237 238 function TGList.GetFirst: TGListItem; 239 begin 240 if FCount = 0 then 241 raise EListError.CreateFmt(SListIndexError, [0]) 242 else 243 Result := Items[0]; 244 end; 245 246 procedure TGList.SetFirst(AValue: TGListItem); 247 begin 248 if FCount = 0 then 249 raise EListError.CreateFmt(SListIndexError, [0]) 250 else 251 Items[0] := AValue; 238 252 end; 239 253
Note:
See TracChangeset
for help on using the changeset viewer.