Ignore:
Timestamp:
Jul 20, 2018, 10:25:06 AM (6 years ago)
Author:
chronos
Message:
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        66compiled
        77heaptrclog.trc
         8LazFuck.dbg
  • trunk/Packages/TemplateGenerics/Specialized/SpecializedList.pas

    r54 r93  
    1515{$DEFINE TGListItem := Integer}
    1616{$DEFINE TGList := TListInteger}
    17 {$DEFINE TGListSortCompare := TListIntegerSortCompare}
    18 {$DEFINE TGListToStringConverter := TListIntegerToStringConverter}
    19 {$DEFINE TGListFromStringConverter := TListIntegerFromStringConverter}
    20 {$DEFINE TGListItemArray := TListIntegerItemArray}
    2117{$DEFINE INTERFACE}
    2218{$I 'GenericList.inc'}
     
    2622{$DEFINE TGListItem := Boolean}
    2723{$DEFINE TGList := TListBoolean}
    28 {$DEFINE TGListSortCompare := TListBooleanSortCompare}
    29 {$DEFINE TGListToStringConverter := TListBooleanToStringConverter}
    30 {$DEFINE TGListFromStringConverter := TListBooleanFromStringConverter}
    31 {$DEFINE TGListItemArray := TListBooleanItemArray}
    3224{$DEFINE INTERFACE}
    3325{$I 'GenericList.inc'}
     
    3729{$DEFINE TGListItem := SmallInt}
    3830{$DEFINE TGList := TListSmallInt}
    39 {$DEFINE TGListSortCompare := TListSmallIntSortCompare}
    40 {$DEFINE TGListToStringConverter := TListSmallIntToStringConverter}
    41 {$DEFINE TGListFromStringConverter := TListSmallIntFromStringConverter}
    42 {$DEFINE TGListItemArray := TListSmallIntItemArray}
    4331{$DEFINE INTERFACE}
    4432{$I 'GenericList.inc'}
     
    4836{$DEFINE TGListItem := Double}
    4937{$DEFINE TGList := TListDouble}
    50 {$DEFINE TGListSortCompare := TListDoubleSortCompare}
    51 {$DEFINE TGListToStringConverter := TListDoubleToStringConverter}
    52 {$DEFINE TGListFromStringConverter := TListDoubleFromStringConverter}
    53 {$DEFINE TGListItemArray := TListDoubleItemArray}
    5438{$DEFINE INTERFACE}
    5539{$INCLUDE '..\Generic\GenericList.inc'}
     
    5943{$DEFINE TGListItem := Pointer}
    6044{$DEFINE TGList := TListPointer}
    61 {$DEFINE TGListSortCompare := TListPointerSortCompare}
    62 {$DEFINE TGListToStringConverter := TListPointerToStringConverter}
    63 {$DEFINE TGListFromStringConverter := TListPointerFromStringConverter}
    64 {$DEFINE TGListItemArray := TListPointerItemArray}
    6545{$DEFINE INTERFACE}
    6646{$I 'GenericList.inc'}
     
    7050{$DEFINE TGListStringItem := string}
    7151{$DEFINE TGListString := TListString}
    72 {$DEFINE TGListStringSortCompare := TListStringSortCompare}
    73 {$DEFINE TGListStringToStringConverter := TListStringToStringConverter}
    74 {$DEFINE TGListStringFromStringConverter := TListStringFromStringConverter}
    75 {$DEFINE TGListItemArray := TListStringItemArray}
    7652{$DEFINE INTERFACE}
    7753{$I 'GenericListString.inc'}
     
    8157{$DEFINE TGListItem := Byte}
    8258{$DEFINE TGList := TListByteBase}
    83 {$DEFINE TGListSortCompare := TListByteSortCompare}
    84 {$DEFINE TGListToStringConverter := TListByteToStringConverter}
    85 {$DEFINE TGListFromStringConverter := TListByteFromStringConverter}
    86 {$DEFINE TGListItemArray := TListByteItemArray}
    8759{$DEFINE INTERFACE}
    8860{$I 'GenericList.inc'}
     
    9567  procedure AddStream(Stream: TStream);
    9668  procedure AddStreamPart(Stream: TStream; ItemCount: TGListIndex);
    97   procedure WriteBuffer(var Buffer; Count: Integer);
    98   procedure ReadBuffer(var Buffer; Count: Integer);
    9969end;
    10070
     
    10373{$DEFINE TGListItem := Char}
    10474{$DEFINE TGList := TListCharBase}
    105 {$DEFINE TGListSortCompare := TListSortCompareChar}
    106 {$DEFINE TGListToStringConverter := TListToStringConverterChar}
    107 {$DEFINE TGListFromStringConverter := TListFromStringConverterChar}
    108 {$DEFINE TGListItemArray := TListStringItemArray}
    10975{$DEFINE INTERFACE}
    11076{$I 'GenericList.inc'}
     
    11581{$DEFINE TGListObjectList := TListObjectList}
    11682{$DEFINE TGListObject := TListObject}
    117 {$DEFINE TGListObjectSortCompare := TListObjectSortCompare}
    118 {$DEFINE TGListObjectToStringConverter := TListObjectToStringConverter}
    119 {$DEFINE TGListObjectFromStringConverter := TListObjectFromStringConverter}
    120 {$DEFINE TGListItemArray := TListObjectItemArray}
    12183{$DEFINE INTERFACE}
    12284{$I 'GenericListObject.inc'}
     
    138100{$DEFINE TGListItem := TMethod}
    139101{$DEFINE TGList := TListMethodBase}
    140 {$DEFINE TGListSortCompare := TListMethodSortCompare}
    141 {$DEFINE TGListToStringConverter := TListMethodToStringConverter}
    142 {$DEFINE TGListFromStringConverter := TListMethodFromStringConverter}
    143 {$DEFINE TGListItemArray := TListMethodItemArray}
    144102{$DEFINE INTERFACE}
    145103{$I 'GenericList.inc'}
     
    154112{$DEFINE TGListItem := TNotifyEvent}
    155113{$DEFINE TGList := TListNotifyEventBase}
    156 {$DEFINE TGListSortCompare := TListNotifyEventSortCompare}
    157 {$DEFINE TGListToStringConverter := TListNotifyEventToStringConverter}
    158 {$DEFINE TGListFromStringConverter := TListNotifyEventFromStringConverter}
    159 {$DEFINE TGListItemArray := TListNotifyEventItemArray}
    160114{$DEFINE INTERFACE}
    161115{$I 'GenericList.inc'}
     
    166120end;
    167121
     122
     123TBaseEvent = 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>
     133TListSimpleEvent = class(TListSimpleEventBase)
     134  procedure CallAll;
     135end;
     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
    168146function StrToStr(Value: string): string;
     147
     148
     149
     150
    169151
    170152implementation
     
    177159{$DEFINE TGListItem := Integer}
    178160{$DEFINE TGList := TListInteger}
    179 {$DEFINE TGListSortCompare := TListIntegerSortCompare}
    180 {$DEFINE TGListToStringConverter := TListIntegerToStringConverter}
    181 {$DEFINE TGListFromStringConverter := TListIntegerFromStringConverter}
    182 {$DEFINE TGListItemArray := TListIntegerItemArray}
    183161{$DEFINE IMPLEMENTATION}
    184162{$I 'GenericList.inc'}
     
    188166{$DEFINE TGListItem := SmallInt}
    189167{$DEFINE TGList := TListSmallInt}
    190 {$DEFINE TGListSortCompare := TListSmallIntSortCompare}
    191 {$DEFINE TGListToStringConverter := TListSmallIntToStringConverter}
    192 {$DEFINE TGListFromStringConverter := TListSmallIntFromStringConverter}
    193 {$DEFINE TGListItemArray := TListSmallIntItemArray}
    194168{$DEFINE IMPLEMENTATION}
    195169{$I 'GenericList.inc'}
     
    199173{$DEFINE TGListItem := Boolean}
    200174{$DEFINE TGList := TListBoolean}
    201 {$DEFINE TGListSortCompare := TListBooleanSortCompare}
    202 {$DEFINE TGListToStringConverter := TListBooleanToStringConverter}
    203 {$DEFINE TGListFromStringConverter := TListBooleanFromStringConverter}
    204 {$DEFINE TGListItemArray := TListBooleanItemArray}
    205175{$DEFINE IMPLEMENTATION}
    206176{$I 'GenericList.inc'}
     
    210180{$DEFINE TGListItem := Double}
    211181{$DEFINE TGList := TListDouble}
    212 {$DEFINE TGListSortCompare := TListDoubleSortCompare}
    213 {$DEFINE TGListToStringConverter := TListDoubleToStringConverter}
    214 {$DEFINE TGListFromStringConverter := TListDoubleFromStringConverter}
    215 {$DEFINE TGListItemArray := TListDoubleItemArray}
    216182{$DEFINE IMPLEMENTATION}
    217183{$I 'GenericList.inc'}
     
    221187{$DEFINE TGListItem := Pointer}
    222188{$DEFINE TGList := TListPointer}
    223 {$DEFINE TGListSortCompare := TListPointerSortCompare}
    224 {$DEFINE TGListToStringConverter := TListPointerToStringConverter}
    225 {$DEFINE TGListFromStringConverter := TListPointerFromStringConverter}
    226 {$DEFINE TGListItemArray := TListPointerItemArray}
    227189{$DEFINE IMPLEMENTATION}
    228190{$I 'GenericList.inc'}
     
    232194{$DEFINE TGListStringItem := string}
    233195{$DEFINE TGListString := TListString}
    234 {$DEFINE TGListStringSortCompare := TListStringSortCompare}
    235 {$DEFINE TGListStringToStringConverter := TListStringToStringConverter}
    236 {$DEFINE TGListStringFromStringConverter := TListStringFromStringConverter}
    237 {$DEFINE TGListItemArray := TListStringItemArray}
    238196{$DEFINE IMPLEMENTATION}
    239197{$I 'GenericListString.inc'}
     
    243201{$DEFINE TGListItem := Byte}
    244202{$DEFINE TGList := TListByteBase}
    245 {$DEFINE TGListSortCompare := TListByteSortCompare}
    246 {$DEFINE TGListToStringConverter := TListByteToStringConverter}
    247 {$DEFINE TGListFromStringConverter := TListByteFromStringConverter}
    248 {$DEFINE TGListItemArray := TListByteItemArray}
    249203{$DEFINE IMPLEMENTATION}
    250204{$I 'GenericList.inc'}
     
    254208{$DEFINE TGListItem := Char}
    255209{$DEFINE TGList := TListCharBase}
    256 {$DEFINE TGListSortCompare := TListSortCompareChar}
    257 {$DEFINE TGListToStringConverter := TListToStringConverterChar}
    258 {$DEFINE TGListFromStringConverter := TListFromStringConverterChar}
    259 {$DEFINE TGListItemArray := TListStringItemArray}
    260210{$DEFINE IMPLEMENTATION}
    261211{$I 'GenericList.inc'}
     
    266216{$DEFINE TGListObjectList := TListObjectList}
    267217{$DEFINE TGListObject := TListObject}
    268 {$DEFINE TGListObjectSortCompare := TListObjectSortCompare}
    269 {$DEFINE TGListObjectToStringConverter := TListObjectToStringConverter}
    270 {$DEFINE TGListObjectFromStringConverter := TListObjectFromStringConverter}
    271 {$DEFINE TGListItemArray := TListObjectItemArray}
    272218{$DEFINE IMPLEMENTATION}
    273219{$I 'GenericListObject.inc'}
     
    277223{$DEFINE TGListItem := TMethod}
    278224{$DEFINE TGList := TListMethodBase}
    279 {$DEFINE TGListSortCompare := TListMethodSortCompare}
    280 {$DEFINE TGListToStringConverter := TListMethodToStringConverter}
    281 {$DEFINE TGListFromStringConverter := TListMethodFromStringConverter}
    282 {$DEFINE TGListItemArray := TListMethodItemArray}
    283225{$DEFINE IMPLEMENTATION}
    284226{$I 'GenericList.inc'}
     
    288230{$DEFINE TGListItem := TNotifyEvent}
    289231{$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'}
    296249
    297250
     
    300253  Result := Value;
    301254end;
     255
     256{ TListSimpleEvent }
     257
     258procedure TListSimpleEvent.CallAll;
     259var
     260  I: TGListIndex;
     261begin
     262  I := 0;
     263  while (I < Count) do begin
     264    TBaseEvent(Items[I])();
     265    I := I + 1;
     266  end;
     267end;
     268
    302269
    303270{ TListChar }
     
    364331  I: TGListIndex;
    365332begin
    366   I := 0;
    367   while (I < Count) do begin
     333  I := Count - 1;
     334  while (I >= 0) do begin
    368335    TNotifyEvent(Items[I])(Sender);
    369     I := I + 1;
     336    I := I - 1;
    370337  end;
    371338end;
     
    445412end;
    446413
    447 procedure TListByte.WriteBuffer(var Buffer; Count: Integer);
    448 begin
    449 
    450 end;
    451 
    452 procedure TListByte.ReadBuffer(var Buffer; Count: Integer);
    453 begin
    454 
    455 end;
    456414
    457415end.
Note: See TracChangeset for help on using the changeset viewer.