Changeset 112 for Generics/TemplateGenerics/Generic
- Timestamp:
- Jan 3, 2011, 3:25:24 PM (14 years ago)
- Location:
- Generics/TemplateGenerics/Generic
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
Generics/TemplateGenerics/Generic/GenericDictionary.inc
r91 r112 14 14 {$DEFINE TGListToStringConverter := TDictionaryToStringConverter} 15 15 {$DEFINE TGListFromStringConverter := TDictionaryFromStringConverter} 16 {$DEFINE TGListItemArray := TDictionaryItemArray} 16 17 {$DEFINE INTERFACE} 17 18 {$I 'GenericList.inc'} … … 48 49 {$DEFINE TGListToStringConverter := TDictionaryToStringConverter} 49 50 {$DEFINE TGListFromStringConverter := TDictionaryFromStringConverter} 51 {$DEFINE TGListItemArray := TDictionaryItemArray} 50 52 {$DEFINE IMPLEMENTATION} 51 53 {$I 'GenericList.inc'} -
Generics/TemplateGenerics/Generic/GenericList.inc
r109 r112 6 6 TGListToStringConverter = function(Item: TGListItem): string; 7 7 TGListFromStringConverter = function(Text: string): TGListItem; 8 TGListItemArray = array of TGListItem; 8 9 9 10 // TGList<TGListIndex, TGListItem> = class … … 32 33 procedure DeleteItems(Index, Count: TGListIndex); 33 34 function EqualTo(List: TGList): Boolean; 35 procedure Exchange(Index1, Index2: TGListIndex); 36 procedure Explode(Text, Separator: string; Converter: TGListFromStringConverter; SlicesCount: Integer = -1); 34 37 function Extract(Item: TGListItem): TGListItem; 35 procedure Exchange(Index1, Index2: TGListIndex);36 38 property First: TGListItem read GetFirst write SetFirst; 37 39 procedure Fill(Start, Count: TGListIndex; Value: TGListItem); 40 function GetArray: TGListItemArray; 38 41 function Implode(Separator: string; Converter: TGListToStringConverter): string; 39 procedure Explode(Text, Separator: string; Converter: TGListFromStringConverter; SlicesCount: Integer = -1);40 42 function IndexOf(Item: TGListItem; Start: TGListIndex = 0): TGListIndex; 41 43 function IndexOfList(List: TGList; Start: TGListIndex = 0): TGListIndex; … … 48 50 procedure Reverse; 49 51 procedure Sort(Compare: TGListSortCompare); 50 procedure SetArray(Values: array of TGListItem);52 procedure SetArray(Values: TGListItemArray); 51 53 property Count: TGListIndex read FCount write SetCount; 52 54 property Capacity: TGListIndex read GetCapacity write SetCapacity; … … 123 125 FCount := AValue; 124 126 if AValue < Capacity then SetCapacityOptimized(AValue); // After FCount change 127 end; 128 129 function TGList.GetArray: TGListItemArray; 130 var 131 I: Integer; 132 begin 133 SetLength(Result, Count); 134 I := 0; 135 while I < Count do begin 136 Result[I] := FItems[I]; 137 I := I + 1; 138 end; 125 139 end; 126 140 … … 181 195 begin 182 196 Result := Start; 183 // Use slower CompareMem instead of (FItems[Result] <> Item) to support records184 197 while (Result < FCount) and 185 198 not CompareMem(Addr(FItems[Result]), Addr(Item), SizeOf(TGListItem)) do … … 358 371 end; 359 372 360 procedure TGList.SetArray(Values: array of TGListItem);373 procedure TGList.SetArray(Values: TGListItemArray); 361 374 var 362 375 I: TGListIndex; -
Generics/TemplateGenerics/Generic/GenericListObject.inc
r101 r112 7 7 {$DEFINE TGListToStringConverter := TGListObjectToStringConverter} 8 8 {$DEFINE TGListFromStringConverter := TGListObjectFromStringConverter} 9 {$DEFINE TGListItemArray := TGListObjectItemArray} 9 10 {$DEFINE INTERFACE} 10 11 {$I 'GenericList.inc'} … … 42 43 {$DEFINE TGListToStringConverter := TGListObjectToStringConverter} 43 44 {$DEFINE TGListFromStringConverter := TGListObjectFromStringConverter} 45 {$DEFINE TGListItemArray := TGListObjectItemArray} 44 46 {$DEFINE IMPLEMENTATION} 45 47 {$I 'GenericList.inc'} -
Generics/TemplateGenerics/Generic/GenericListString.inc
r101 r112 7 7 {$DEFINE TGListToStringConverter := TGListStringToStringConverter} 8 8 {$DEFINE TGListFromStringConverter := TGListStringFromStringConverter} 9 {$DEFINE TGListItemArray := TGListStringItemArray} 9 10 {$DEFINE INTERFACE} 10 11 {$I 'GenericList.inc'} … … 40 41 {$DEFINE TGListToStringConverter := TGListStringToStringConverter} 41 42 {$DEFINE TGListFromStringConverter := TGListStringFromStringConverter} 43 {$DEFINE TGListItemArray := TGListStringItemArray} 42 44 {$DEFINE IMPLEMENTATION} 43 45 {$I 'GenericList.inc'} -
Generics/TemplateGenerics/Generic/GenericQueue.inc
r91 r112 7 7 {$DEFINE TGListToStringConverter := TGQueueToStringConverter} 8 8 {$DEFINE TGListFromStringConverter := TGQueueFromStringConverter} 9 {$DEFINE TGListItemArray := TGQueueItemArray} 9 10 {$DEFINE INTERFACE} 10 11 {$I 'GenericList.inc'} … … 42 43 {$DEFINE TGListToStringConverter := TGQueueToStringConverter} 43 44 {$DEFINE TGListFromStringConverter := TGQueueFromStringConverter} 45 {$DEFINE TGListItemArray := TGQueueItemArray} 44 46 {$DEFINE IMPLEMENTATION} 45 47 {$I 'GenericList.inc'} -
Generics/TemplateGenerics/Generic/GenericSet.inc
r91 r112 7 7 {$DEFINE TGListToStringConverter := TGSetToStringConverter} 8 8 {$DEFINE TGListFromStringConverter := TGSetFromStringConverter} 9 {$DEFINE TGListItemArray := TGSetItemArray} 9 10 {$DEFINE INTERFACE} 10 11 {$I 'GenericList.inc'} … … 40 41 {$DEFINE TGListToStringConverter := TGSetToStringConverter} 41 42 {$DEFINE TGListFromStringConverter := TGSetFromStringConverter} 43 {$DEFINE TGListItemArray := TGSetItemArray} 42 44 {$DEFINE IMPLEMENTATION} 43 45 {$I 'GenericList.inc'} -
Generics/TemplateGenerics/Generic/GenericStack.inc
r91 r112 7 7 {$DEFINE TGListToStringConverter := TGStackToStringConverter} 8 8 {$DEFINE TGListFromStringConverter := TGStackFromStringConverter} 9 {$DEFINE TGListItemArray := TGStackItemArray} 9 10 {$DEFINE INTERFACE} 10 11 {$I 'GenericList.inc'} … … 41 42 {$DEFINE TGListToStringConverter := TGStackToStringConverter} 42 43 {$DEFINE TGListFromStringConverter := TGStackFromStringConverter} 44 {$DEFINE TGListItemArray := TGStackItemArray} 43 45 {$DEFINE IMPLEMENTATION} 44 46 {$I 'GenericList.inc'} -
Generics/TemplateGenerics/Generic/GenericTree.inc
r91 r112 9 9 {$DEFINE TGListToStringConverter := TGTreeToStringConverter} 10 10 {$DEFINE TGListFromStringConverter := TGTreeFromStringConverter} 11 {$DEFINE TGListItemArray := TGTreeItemArray} 11 12 {$DEFINE INTERFACE} 12 13 {$I 'GenericList.inc'} … … 46 47 {$DEFINE TGListToStringConverter := TGTreeToStringConverter} 47 48 {$DEFINE TGListFromStringConverter := TGTreeFromStringConverter} 49 {$DEFINE TGListItemArray := TGTreeItemArray} 48 50 {$DEFINE IMPLEMENTATION} 49 51 {$I 'GenericList.inc'}
Note:
See TracChangeset
for help on using the changeset viewer.