- Timestamp:
- Jul 20, 2018, 10:25:06 AM (6 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:ignore
-
old new 6 6 compiled 7 7 heaptrclog.trc 8 LazFuck.dbg
-
- Property svn:ignore
-
trunk/Packages/TemplateGenerics/Specialized/SpecializedList.pas
r54 r93 15 15 {$DEFINE TGListItem := Integer} 16 16 {$DEFINE TGList := TListInteger} 17 {$DEFINE TGListSortCompare := TListIntegerSortCompare}18 {$DEFINE TGListToStringConverter := TListIntegerToStringConverter}19 {$DEFINE TGListFromStringConverter := TListIntegerFromStringConverter}20 {$DEFINE TGListItemArray := TListIntegerItemArray}21 17 {$DEFINE INTERFACE} 22 18 {$I 'GenericList.inc'} … … 26 22 {$DEFINE TGListItem := Boolean} 27 23 {$DEFINE TGList := TListBoolean} 28 {$DEFINE TGListSortCompare := TListBooleanSortCompare}29 {$DEFINE TGListToStringConverter := TListBooleanToStringConverter}30 {$DEFINE TGListFromStringConverter := TListBooleanFromStringConverter}31 {$DEFINE TGListItemArray := TListBooleanItemArray}32 24 {$DEFINE INTERFACE} 33 25 {$I 'GenericList.inc'} … … 37 29 {$DEFINE TGListItem := SmallInt} 38 30 {$DEFINE TGList := TListSmallInt} 39 {$DEFINE TGListSortCompare := TListSmallIntSortCompare}40 {$DEFINE TGListToStringConverter := TListSmallIntToStringConverter}41 {$DEFINE TGListFromStringConverter := TListSmallIntFromStringConverter}42 {$DEFINE TGListItemArray := TListSmallIntItemArray}43 31 {$DEFINE INTERFACE} 44 32 {$I 'GenericList.inc'} … … 48 36 {$DEFINE TGListItem := Double} 49 37 {$DEFINE TGList := TListDouble} 50 {$DEFINE TGListSortCompare := TListDoubleSortCompare}51 {$DEFINE TGListToStringConverter := TListDoubleToStringConverter}52 {$DEFINE TGListFromStringConverter := TListDoubleFromStringConverter}53 {$DEFINE TGListItemArray := TListDoubleItemArray}54 38 {$DEFINE INTERFACE} 55 39 {$INCLUDE '..\Generic\GenericList.inc'} … … 59 43 {$DEFINE TGListItem := Pointer} 60 44 {$DEFINE TGList := TListPointer} 61 {$DEFINE TGListSortCompare := TListPointerSortCompare}62 {$DEFINE TGListToStringConverter := TListPointerToStringConverter}63 {$DEFINE TGListFromStringConverter := TListPointerFromStringConverter}64 {$DEFINE TGListItemArray := TListPointerItemArray}65 45 {$DEFINE INTERFACE} 66 46 {$I 'GenericList.inc'} … … 70 50 {$DEFINE TGListStringItem := string} 71 51 {$DEFINE TGListString := TListString} 72 {$DEFINE TGListStringSortCompare := TListStringSortCompare}73 {$DEFINE TGListStringToStringConverter := TListStringToStringConverter}74 {$DEFINE TGListStringFromStringConverter := TListStringFromStringConverter}75 {$DEFINE TGListItemArray := TListStringItemArray}76 52 {$DEFINE INTERFACE} 77 53 {$I 'GenericListString.inc'} … … 81 57 {$DEFINE TGListItem := Byte} 82 58 {$DEFINE TGList := TListByteBase} 83 {$DEFINE TGListSortCompare := TListByteSortCompare}84 {$DEFINE TGListToStringConverter := TListByteToStringConverter}85 {$DEFINE TGListFromStringConverter := TListByteFromStringConverter}86 {$DEFINE TGListItemArray := TListByteItemArray}87 59 {$DEFINE INTERFACE} 88 60 {$I 'GenericList.inc'} … … 95 67 procedure AddStream(Stream: TStream); 96 68 procedure AddStreamPart(Stream: TStream; ItemCount: TGListIndex); 97 procedure WriteBuffer(var Buffer; Count: Integer);98 procedure ReadBuffer(var Buffer; Count: Integer);99 69 end; 100 70 … … 103 73 {$DEFINE TGListItem := Char} 104 74 {$DEFINE TGList := TListCharBase} 105 {$DEFINE TGListSortCompare := TListSortCompareChar}106 {$DEFINE TGListToStringConverter := TListToStringConverterChar}107 {$DEFINE TGListFromStringConverter := TListFromStringConverterChar}108 {$DEFINE TGListItemArray := TListStringItemArray}109 75 {$DEFINE INTERFACE} 110 76 {$I 'GenericList.inc'} … … 115 81 {$DEFINE TGListObjectList := TListObjectList} 116 82 {$DEFINE TGListObject := TListObject} 117 {$DEFINE TGListObjectSortCompare := TListObjectSortCompare}118 {$DEFINE TGListObjectToStringConverter := TListObjectToStringConverter}119 {$DEFINE TGListObjectFromStringConverter := TListObjectFromStringConverter}120 {$DEFINE TGListItemArray := TListObjectItemArray}121 83 {$DEFINE INTERFACE} 122 84 {$I 'GenericListObject.inc'} … … 138 100 {$DEFINE TGListItem := TMethod} 139 101 {$DEFINE TGList := TListMethodBase} 140 {$DEFINE TGListSortCompare := TListMethodSortCompare}141 {$DEFINE TGListToStringConverter := TListMethodToStringConverter}142 {$DEFINE TGListFromStringConverter := TListMethodFromStringConverter}143 {$DEFINE TGListItemArray := TListMethodItemArray}144 102 {$DEFINE INTERFACE} 145 103 {$I 'GenericList.inc'} … … 154 112 {$DEFINE TGListItem := TNotifyEvent} 155 113 {$DEFINE TGList := TListNotifyEventBase} 156 {$DEFINE TGListSortCompare := TListNotifyEventSortCompare}157 {$DEFINE TGListToStringConverter := TListNotifyEventToStringConverter}158 {$DEFINE TGListFromStringConverter := TListNotifyEventFromStringConverter}159 {$DEFINE TGListItemArray := TListNotifyEventItemArray}160 114 {$DEFINE INTERFACE} 161 115 {$I 'GenericList.inc'} … … 166 120 end; 167 121 122 123 TBaseEvent = procedure of object; 124 125 // TListSimpleEventBase<Integer, TBaseEvent> 126 {$DEFINE TGListIndex := Integer} 127 {$DEFINE TGListItem := TBaseEvent} 128 {$DEFINE TGList := TListSimpleEventBase} 129 {$DEFINE INTERFACE} 130 {$I 'GenericList.inc'} 131 132 // TListSimpleEvent<Integer, TSimpleEvent> 133 TListSimpleEvent = class(TListSimpleEventBase) 134 procedure CallAll; 135 end; 136 137 138 // TFileListByte<Integer, Byte> 139 {$DEFINE TGFileListIndex := Integer} 140 {$DEFINE TGFileListItem := Byte} 141 {$DEFINE TGFileListList := TFileListListByte} 142 {$DEFINE TGFileList := TFileListByte} 143 {$DEFINE INTERFACE} 144 {$I 'GenericFileList.inc'} 145 168 146 function StrToStr(Value: string): string; 147 148 149 150 169 151 170 152 implementation … … 177 159 {$DEFINE TGListItem := Integer} 178 160 {$DEFINE TGList := TListInteger} 179 {$DEFINE TGListSortCompare := TListIntegerSortCompare}180 {$DEFINE TGListToStringConverter := TListIntegerToStringConverter}181 {$DEFINE TGListFromStringConverter := TListIntegerFromStringConverter}182 {$DEFINE TGListItemArray := TListIntegerItemArray}183 161 {$DEFINE IMPLEMENTATION} 184 162 {$I 'GenericList.inc'} … … 188 166 {$DEFINE TGListItem := SmallInt} 189 167 {$DEFINE TGList := TListSmallInt} 190 {$DEFINE TGListSortCompare := TListSmallIntSortCompare}191 {$DEFINE TGListToStringConverter := TListSmallIntToStringConverter}192 {$DEFINE TGListFromStringConverter := TListSmallIntFromStringConverter}193 {$DEFINE TGListItemArray := TListSmallIntItemArray}194 168 {$DEFINE IMPLEMENTATION} 195 169 {$I 'GenericList.inc'} … … 199 173 {$DEFINE TGListItem := Boolean} 200 174 {$DEFINE TGList := TListBoolean} 201 {$DEFINE TGListSortCompare := TListBooleanSortCompare}202 {$DEFINE TGListToStringConverter := TListBooleanToStringConverter}203 {$DEFINE TGListFromStringConverter := TListBooleanFromStringConverter}204 {$DEFINE TGListItemArray := TListBooleanItemArray}205 175 {$DEFINE IMPLEMENTATION} 206 176 {$I 'GenericList.inc'} … … 210 180 {$DEFINE TGListItem := Double} 211 181 {$DEFINE TGList := TListDouble} 212 {$DEFINE TGListSortCompare := TListDoubleSortCompare}213 {$DEFINE TGListToStringConverter := TListDoubleToStringConverter}214 {$DEFINE TGListFromStringConverter := TListDoubleFromStringConverter}215 {$DEFINE TGListItemArray := TListDoubleItemArray}216 182 {$DEFINE IMPLEMENTATION} 217 183 {$I 'GenericList.inc'} … … 221 187 {$DEFINE TGListItem := Pointer} 222 188 {$DEFINE TGList := TListPointer} 223 {$DEFINE TGListSortCompare := TListPointerSortCompare}224 {$DEFINE TGListToStringConverter := TListPointerToStringConverter}225 {$DEFINE TGListFromStringConverter := TListPointerFromStringConverter}226 {$DEFINE TGListItemArray := TListPointerItemArray}227 189 {$DEFINE IMPLEMENTATION} 228 190 {$I 'GenericList.inc'} … … 232 194 {$DEFINE TGListStringItem := string} 233 195 {$DEFINE TGListString := TListString} 234 {$DEFINE TGListStringSortCompare := TListStringSortCompare}235 {$DEFINE TGListStringToStringConverter := TListStringToStringConverter}236 {$DEFINE TGListStringFromStringConverter := TListStringFromStringConverter}237 {$DEFINE TGListItemArray := TListStringItemArray}238 196 {$DEFINE IMPLEMENTATION} 239 197 {$I 'GenericListString.inc'} … … 243 201 {$DEFINE TGListItem := Byte} 244 202 {$DEFINE TGList := TListByteBase} 245 {$DEFINE TGListSortCompare := TListByteSortCompare}246 {$DEFINE TGListToStringConverter := TListByteToStringConverter}247 {$DEFINE TGListFromStringConverter := TListByteFromStringConverter}248 {$DEFINE TGListItemArray := TListByteItemArray}249 203 {$DEFINE IMPLEMENTATION} 250 204 {$I 'GenericList.inc'} … … 254 208 {$DEFINE TGListItem := Char} 255 209 {$DEFINE TGList := TListCharBase} 256 {$DEFINE TGListSortCompare := TListSortCompareChar}257 {$DEFINE TGListToStringConverter := TListToStringConverterChar}258 {$DEFINE TGListFromStringConverter := TListFromStringConverterChar}259 {$DEFINE TGListItemArray := TListStringItemArray}260 210 {$DEFINE IMPLEMENTATION} 261 211 {$I 'GenericList.inc'} … … 266 216 {$DEFINE TGListObjectList := TListObjectList} 267 217 {$DEFINE TGListObject := TListObject} 268 {$DEFINE TGListObjectSortCompare := TListObjectSortCompare}269 {$DEFINE TGListObjectToStringConverter := TListObjectToStringConverter}270 {$DEFINE TGListObjectFromStringConverter := TListObjectFromStringConverter}271 {$DEFINE TGListItemArray := TListObjectItemArray}272 218 {$DEFINE IMPLEMENTATION} 273 219 {$I 'GenericListObject.inc'} … … 277 223 {$DEFINE TGListItem := TMethod} 278 224 {$DEFINE TGList := TListMethodBase} 279 {$DEFINE TGListSortCompare := TListMethodSortCompare}280 {$DEFINE TGListToStringConverter := TListMethodToStringConverter}281 {$DEFINE TGListFromStringConverter := TListMethodFromStringConverter}282 {$DEFINE TGListItemArray := TListMethodItemArray}283 225 {$DEFINE IMPLEMENTATION} 284 226 {$I 'GenericList.inc'} … … 288 230 {$DEFINE TGListItem := TNotifyEvent} 289 231 {$DEFINE TGList := TListNotifyEventBase} 290 {$DEFINE TGListSortCompare := TListNotifyEventSortCompare} 291 {$DEFINE TGListToStringConverter := TListNotifyEventToStringConverter} 292 {$DEFINE TGListFromStringConverter := TListNotifyEventFromStringConverter} 293 {$DEFINE TGListItemArray := TListNotifyEventItemArray} 294 {$DEFINE IMPLEMENTATION} 295 {$I 'GenericList.inc'} 232 {$DEFINE IMPLEMENTATION} 233 {$I 'GenericList.inc'} 234 235 // TListSimpleEventBase<Integer, TBaseEvent> 236 {$DEFINE TGListIndex := Integer} 237 {$DEFINE TGListItem := TBaseEvent} 238 {$DEFINE TGList := TListSimpleEventBase} 239 {$DEFINE IMPLEMENTATION} 240 {$I 'GenericList.inc'} 241 242 // TFileListByte<Integer, Byte> 243 {$DEFINE TGFileListIndex := Integer} 244 {$DEFINE TGFileListItem := Byte} 245 {$DEFINE TGFileListList := TFileListListByte} 246 {$DEFINE TGFileList := TFileListByte} 247 {$DEFINE IMPLEMENTATION} 248 {$I 'GenericFileList.inc'} 296 249 297 250 … … 300 253 Result := Value; 301 254 end; 255 256 { TListSimpleEvent } 257 258 procedure TListSimpleEvent.CallAll; 259 var 260 I: TGListIndex; 261 begin 262 I := 0; 263 while (I < Count) do begin 264 TBaseEvent(Items[I])(); 265 I := I + 1; 266 end; 267 end; 268 302 269 303 270 { TListChar } … … 364 331 I: TGListIndex; 365 332 begin 366 I := 0;367 while (I < Count) do begin333 I := Count - 1; 334 while (I >= 0) do begin 368 335 TNotifyEvent(Items[I])(Sender); 369 I := I +1;336 I := I - 1; 370 337 end; 371 338 end; … … 445 412 end; 446 413 447 procedure TListByte.WriteBuffer(var Buffer; Count: Integer);448 begin449 450 end;451 452 procedure TListByte.ReadBuffer(var Buffer; Count: Integer);453 begin454 455 end;456 414 457 415 end.
Note:
See TracChangeset
for help on using the changeset viewer.