Changeset 91 for Generics


Ignore:
Timestamp:
Nov 17, 2010, 7:34:05 PM (14 years ago)
Author:
george
Message:
  • Added: Method Explode to create list items from string.
  • Modified: Definition for procedural type TGListStringConverter changed to TGListToStringConverter and TFListFromStringConverter.
  • Modified: Sepcialized unit ListObject renamed to SpecializedObjectList.
Location:
Generics/TemplateGenerics
Files:
18 edited

Legend:

Unmodified
Added
Removed
  • Generics/TemplateGenerics/Demo/Demo.lpi

    r90 r91  
    3838      </Item2>
    3939    </RequiredPackages>
    40     <Units Count="94">
     40    <Units Count="95">
    4141      <Unit0>
    4242        <Filename Value="Demo.lpr"/>
     
    4646        <TopLine Value="1"/>
    4747        <CursorPos X="26" Y="8"/>
    48         <UsageCount Value="64"/>
     48        <UsageCount Value="65"/>
    4949        <DefaultSyntaxHighlighter Value="Delphi"/>
    5050      </Unit0>
     
    5555        <ResourceBaseClass Value="Form"/>
    5656        <UnitName Value="UMainForm"/>
    57         <IsVisibleTab Value="True"/>
    5857        <EditorIndex Value="0"/>
    5958        <WindowIndex Value="0"/>
    60         <TopLine Value="1"/>
    61         <CursorPos X="15" Y="33"/>
    62         <UsageCount Value="64"/>
     59        <TopLine Value="316"/>
     60        <CursorPos X="21" Y="332"/>
     61        <UsageCount Value="65"/>
    6362        <Loaded Value="True"/>
    6463        <LoadedDesigner Value="True"/>
     
    659658        <CursorPos X="57" Y="57"/>
    660659        <UsageCount Value="10"/>
    661         <DefaultSyntaxHighlighter Value="Delphi"/>
    662660      </Unit75>
    663661      <Unit76>
     
    679677      <Unit78>
    680678        <Filename Value="../Generic/GenericList.inc"/>
    681         <EditorIndex Value="16"/>
    682         <WindowIndex Value="0"/>
    683         <TopLine Value="58"/>
    684         <CursorPos X="86" Y="71"/>
     679        <IsVisibleTab Value="True"/>
     680        <EditorIndex Value="15"/>
     681        <WindowIndex Value="0"/>
     682        <TopLine Value="307"/>
     683        <CursorPos X="24" Y="307"/>
    685684        <UsageCount Value="14"/>
    686685        <Loaded Value="True"/>
     
    688687      <Unit79>
    689688        <Filename Value="../Generic/GenericDictionary.inc"/>
    690         <EditorIndex Value="3"/>
    691         <WindowIndex Value="0"/>
    692         <TopLine Value="1"/>
    693         <CursorPos X="1" Y="10"/>
     689        <EditorIndex Value="1"/>
     690        <WindowIndex Value="0"/>
     691        <TopLine Value="31"/>
     692        <CursorPos X="44" Y="47"/>
    694693        <UsageCount Value="14"/>
    695694        <Loaded Value="True"/>
     
    697696      <Unit80>
    698697        <Filename Value="../Generic/GenericObjectList.inc"/>
    699         <EditorIndex Value="5"/>
    700         <WindowIndex Value="0"/>
    701         <TopLine Value="34"/>
    702         <CursorPos X="8" Y="56"/>
     698        <EditorIndex Value="3"/>
     699        <WindowIndex Value="0"/>
     700        <TopLine Value="1"/>
     701        <CursorPos X="36" Y="48"/>
    703702        <UsageCount Value="14"/>
    704703        <Loaded Value="True"/>
     
    706705      <Unit81>
    707706        <Filename Value="../Generic/GenericQueue.inc"/>
    708         <EditorIndex Value="9"/>
    709         <WindowIndex Value="0"/>
    710         <TopLine Value="1"/>
     707        <EditorIndex Value="7"/>
     708        <WindowIndex Value="0"/>
     709        <TopLine Value="21"/>
    711710        <CursorPos X="1" Y="3"/>
    712711        <UsageCount Value="14"/>
     
    715714      <Unit82>
    716715        <Filename Value="../Generic/GenericSet.inc"/>
    717         <EditorIndex Value="14"/>
    718         <WindowIndex Value="0"/>
    719         <TopLine Value="1"/>
     716        <EditorIndex Value="12"/>
     717        <WindowIndex Value="0"/>
     718        <TopLine Value="21"/>
    720719        <CursorPos X="42" Y="11"/>
    721720        <UsageCount Value="14"/>
     
    724723      <Unit83>
    725724        <Filename Value="../Generic/GenericStack.inc"/>
    726         <EditorIndex Value="13"/>
    727         <WindowIndex Value="0"/>
    728         <TopLine Value="1"/>
     725        <EditorIndex Value="11"/>
     726        <WindowIndex Value="0"/>
     727        <TopLine Value="21"/>
    729728        <CursorPos X="1" Y="3"/>
    730729        <UsageCount Value="14"/>
     
    733732      <Unit84>
    734733        <Filename Value="../Generic/GenericTree.inc"/>
    735         <EditorIndex Value="15"/>
     734        <EditorIndex Value="13"/>
    736735        <WindowIndex Value="0"/>
    737736        <TopLine Value="1"/>
     
    743742        <Filename Value="../Specialized/SpecializedDictionary.pas"/>
    744743        <UnitName Value="SpecializedDictionary"/>
    745         <EditorIndex Value="11"/>
    746         <WindowIndex Value="0"/>
    747         <TopLine Value="1"/>
    748         <CursorPos X="1" Y="13"/>
     744        <EditorIndex Value="9"/>
     745        <WindowIndex Value="0"/>
     746        <TopLine Value="9"/>
     747        <CursorPos X="56" Y="36"/>
    749748        <UsageCount Value="13"/>
    750749        <Loaded Value="True"/>
     
    753752        <Filename Value="../Specialized/SpecializedStack.pas"/>
    754753        <UnitName Value="SpecializedStack"/>
    755         <EditorIndex Value="12"/>
    756         <WindowIndex Value="0"/>
    757         <TopLine Value="1"/>
    758         <CursorPos X="1" Y="13"/>
     754        <EditorIndex Value="10"/>
     755        <WindowIndex Value="0"/>
     756        <TopLine Value="30"/>
     757        <CursorPos X="50" Y="59"/>
    759758        <UsageCount Value="12"/>
    760759        <Loaded Value="True"/>
     
    763762        <Filename Value="../Specialized/SpecializedTree.pas"/>
    764763        <UnitName Value="SpecializedTree"/>
    765         <EditorIndex Value="4"/>
    766         <WindowIndex Value="0"/>
    767         <TopLine Value="1"/>
    768         <CursorPos X="1" Y="11"/>
     764        <EditorIndex Value="2"/>
     765        <WindowIndex Value="0"/>
     766        <TopLine Value="57"/>
     767        <CursorPos X="48" Y="85"/>
    769768        <UsageCount Value="12"/>
    770769        <Loaded Value="True"/>
     
    772771      <Unit88>
    773772        <Filename Value="../Generic/GenericRange.inc"/>
    774         <EditorIndex Value="10"/>
     773        <EditorIndex Value="8"/>
    775774        <WindowIndex Value="0"/>
    776775        <TopLine Value="1"/>
     
    782781        <Filename Value="../Specialized/SpecializedQueue.pas"/>
    783782        <UnitName Value="SpecializedQueue"/>
    784         <EditorIndex Value="6"/>
    785         <WindowIndex Value="0"/>
    786         <TopLine Value="1"/>
    787         <CursorPos X="1" Y="13"/>
     783        <EditorIndex Value="4"/>
     784        <WindowIndex Value="0"/>
     785        <TopLine Value="52"/>
     786        <CursorPos X="1" Y="81"/>
    788787        <UsageCount Value="12"/>
    789788        <Loaded Value="True"/>
     
    792791        <Filename Value="../Specialized/SpecializedSet.pas"/>
    793792        <UnitName Value="SpecializedSet"/>
    794         <EditorIndex Value="8"/>
    795         <WindowIndex Value="0"/>
    796         <TopLine Value="1"/>
    797         <CursorPos X="1" Y="13"/>
     793        <EditorIndex Value="6"/>
     794        <WindowIndex Value="0"/>
     795        <TopLine Value="31"/>
     796        <CursorPos X="1" Y="62"/>
    798797        <UsageCount Value="12"/>
    799798        <Loaded Value="True"/>
     
    801800      <Unit91>
    802801        <Filename Value="../Generic/GenericPoint.inc"/>
    803         <EditorIndex Value="1"/>
    804802        <WindowIndex Value="0"/>
    805803        <TopLine Value="1"/>
    806804        <CursorPos X="33" Y="5"/>
    807805        <UsageCount Value="11"/>
    808         <Loaded Value="True"/>
    809806      </Unit91>
    810807      <Unit92>
    811808        <Filename Value="../Specialized/SpecializedPoint.pas"/>
    812809        <UnitName Value="SpecializedPoint"/>
    813         <EditorIndex Value="2"/>
    814810        <WindowIndex Value="0"/>
    815811        <TopLine Value="1"/>
    816812        <CursorPos X="1" Y="1"/>
    817813        <UsageCount Value="11"/>
    818         <Loaded Value="True"/>
    819814      </Unit92>
    820815      <Unit93>
    821816        <Filename Value="../Specialized/SpecializedObjectList.pas"/>
    822817        <UnitName Value="SpecializedObjectList"/>
    823         <EditorIndex Value="7"/>
    824         <WindowIndex Value="0"/>
    825         <TopLine Value="1"/>
    826         <CursorPos X="1" Y="1"/>
     818        <EditorIndex Value="5"/>
     819        <WindowIndex Value="0"/>
     820        <TopLine Value="9"/>
     821        <CursorPos X="60" Y="36"/>
    827822        <UsageCount Value="11"/>
    828823        <Loaded Value="True"/>
    829824      </Unit93>
     825      <Unit94>
     826        <Filename Value="../Specialized/SpecializedList.pas"/>
     827        <UnitName Value="SpecializedList"/>
     828        <EditorIndex Value="14"/>
     829        <WindowIndex Value="0"/>
     830        <TopLine Value="63"/>
     831        <CursorPos X="54" Y="79"/>
     832        <UsageCount Value="10"/>
     833        <Loaded Value="True"/>
     834      </Unit94>
    830835    </Units>
    831836    <JumpHistory Count="30" HistoryIndex="29">
    832837      <Position1>
    833         <Filename Value="../Specialized/SpecializedDictionary.pas"/>
    834         <Caret Line="19" Column="42" TopLine="1"/>
     838        <Filename Value="UMainForm.pas"/>
     839        <Caret Line="188" Column="5" TopLine="168"/>
    835840      </Position1>
    836841      <Position2>
    837         <Filename Value="../Specialized/SpecializedDictionary.pas"/>
    838         <Caret Line="18" Column="24" TopLine="1"/>
     842        <Filename Value="UMainForm.pas"/>
     843        <Caret Line="393" Column="5" TopLine="364"/>
    839844      </Position2>
    840845      <Position3>
    841         <Filename Value="../Specialized/SpecializedDictionary.pas"/>
    842         <Caret Line="19" Column="43" TopLine="1"/>
     846        <Filename Value="../Specialized/SpecializedQueue.pas"/>
     847        <Caret Line="33" Column="32" TopLine="1"/>
    843848      </Position3>
    844849      <Position4>
    845         <Filename Value="../Specialized/SpecializedDictionary.pas"/>
    846         <Caret Line="39" Column="5" TopLine="3"/>
     850        <Filename Value="../Specialized/SpecializedQueue.pas"/>
     851        <Caret Line="20" Column="34" TopLine="1"/>
    847852      </Position4>
    848853      <Position5>
    849         <Filename Value="../Specialized/SpecializedStack.pas"/>
    850         <Caret Line="19" Column="36" TopLine="1"/>
     854        <Filename Value="../Specialized/SpecializedDictionary.pas"/>
     855        <Caret Line="22" Column="36" TopLine="1"/>
    851856      </Position5>
    852857      <Position6>
    853         <Filename Value="../Specialized/SpecializedStack.pas"/>
    854         <Caret Line="5" Column="1" TopLine="1"/>
     858        <Filename Value="UMainForm.pas"/>
     859        <Caret Line="469" Column="3" TopLine="439"/>
    855860      </Position6>
    856861      <Position7>
    857         <Filename Value="../Generic/GenericStack.inc"/>
    858         <Caret Line="28" Column="34" TopLine="13"/>
     862        <Filename Value="../Generic/GenericObjectList.inc"/>
     863        <Caret Line="14" Column="55" TopLine="1"/>
    859864      </Position7>
    860865      <Position8>
    861866        <Filename Value="UMainForm.pas"/>
    862         <Caret Line="9" Column="7" TopLine="1"/>
     867        <Caret Line="89" Column="20" TopLine="70"/>
    863868      </Position8>
    864869      <Position9>
    865         <Filename Value="UMainForm.pas"/>
    866         <Caret Line="10" Column="20" TopLine="1"/>
     870        <Filename Value="../Specialized/SpecializedDictionary.pas"/>
     871        <Caret Line="22" Column="36" TopLine="1"/>
    867872      </Position9>
    868873      <Position10>
    869         <Filename Value="UMainForm.pas"/>
    870         <Caret Line="20" Column="49" TopLine="1"/>
     874        <Filename Value="../Generic/GenericTree.inc"/>
     875        <Caret Line="33" Column="25" TopLine="12"/>
    871876      </Position10>
    872877      <Position11>
    873         <Filename Value="UMainForm.pas"/>
    874         <Caret Line="22" Column="35" TopLine="1"/>
     878        <Filename Value="../Specialized/SpecializedTree.pas"/>
     879        <Caret Line="82" Column="5" TopLine="47"/>
    875880      </Position11>
    876881      <Position12>
    877882        <Filename Value="UMainForm.pas"/>
    878         <Caret Line="110" Column="12" TopLine="81"/>
     883        <Caret Line="360" Column="51" TopLine="342"/>
    879884      </Position12>
    880885      <Position13>
    881         <Filename Value="UMainForm.pas"/>
    882         <Caret Line="133" Column="9" TopLine="103"/>
     886        <Filename Value="../Generic/GenericList.inc"/>
     887        <Caret Line="71" Column="86" TopLine="58"/>
    883888      </Position13>
    884889      <Position14>
    885         <Filename Value="UMainForm.pas"/>
    886         <Caret Line="162" Column="7" TopLine="136"/>
     890        <Filename Value="../Generic/GenericList.inc"/>
     891        <Caret Line="18" Column="42" TopLine="1"/>
    887892      </Position14>
    888893      <Position15>
    889         <Filename Value="UMainForm.pas"/>
    890         <Caret Line="171" Column="1" TopLine="152"/>
     894        <Filename Value="../Generic/GenericList.inc"/>
     895        <Caret Line="6" Column="29" TopLine="1"/>
    891896      </Position15>
    892897      <Position16>
    893         <Filename Value="UMainForm.pas"/>
    894         <Caret Line="190" Column="7" TopLine="165"/>
     898        <Filename Value="../Generic/GenericList.inc"/>
     899        <Caret Line="12" Column="37" TopLine="1"/>
    895900      </Position16>
    896901      <Position17>
    897         <Filename Value="UMainForm.pas"/>
    898         <Caret Line="188" Column="5" TopLine="168"/>
     902        <Filename Value="../Generic/GenericList.inc"/>
     903        <Caret Line="377" Column="25" TopLine="359"/>
    899904      </Position17>
    900905      <Position18>
    901         <Filename Value="UMainForm.pas"/>
    902         <Caret Line="393" Column="5" TopLine="364"/>
     906        <Filename Value="../Generic/GenericList.inc"/>
     907        <Caret Line="375" Column="57" TopLine="359"/>
    903908      </Position18>
    904909      <Position19>
    905         <Filename Value="../Specialized/SpecializedQueue.pas"/>
    906         <Caret Line="33" Column="32" TopLine="1"/>
     910        <Filename Value="../Generic/GenericList.inc"/>
     911        <Caret Line="39" Column="14" TopLine="38"/>
    907912      </Position19>
    908913      <Position20>
    909         <Filename Value="../Specialized/SpecializedQueue.pas"/>
    910         <Caret Line="20" Column="34" TopLine="1"/>
     914        <Filename Value="../Generic/GenericList.inc"/>
     915        <Caret Line="375" Column="77" TopLine="359"/>
    911916      </Position20>
    912917      <Position21>
    913         <Filename Value="../Specialized/SpecializedDictionary.pas"/>
    914         <Caret Line="22" Column="36" TopLine="1"/>
     918        <Filename Value="../Generic/GenericList.inc"/>
     919        <Caret Line="8" Column="22" TopLine="1"/>
    915920      </Position21>
    916921      <Position22>
    917         <Filename Value="UMainForm.pas"/>
    918         <Caret Line="469" Column="3" TopLine="439"/>
     922        <Filename Value="../Generic/GenericList.inc"/>
     923        <Caret Line="40" Column="22" TopLine="24"/>
    919924      </Position22>
    920925      <Position23>
    921         <Filename Value="../Generic/GenericObjectList.inc"/>
    922         <Caret Line="14" Column="55" TopLine="1"/>
     926        <Filename Value="../Generic/GenericList.inc"/>
     927        <Caret Line="394" Column="60" TopLine="375"/>
    923928      </Position23>
    924929      <Position24>
    925         <Filename Value="UMainForm.pas"/>
    926         <Caret Line="89" Column="20" TopLine="70"/>
     930        <Filename Value="../Generic/GenericList.inc"/>
     931        <Caret Line="396" Column="62" TopLine="375"/>
    927932      </Position24>
    928933      <Position25>
    929         <Filename Value="../Specialized/SpecializedDictionary.pas"/>
    930         <Caret Line="22" Column="36" TopLine="1"/>
     934        <Filename Value="../Generic/GenericList.inc"/>
     935        <Caret Line="393" Column="26" TopLine="377"/>
    931936      </Position25>
    932937      <Position26>
    933         <Filename Value="../Generic/GenericTree.inc"/>
    934         <Caret Line="33" Column="25" TopLine="12"/>
     938        <Filename Value="../Generic/GenericList.inc"/>
     939        <Caret Line="389" Column="87" TopLine="377"/>
    935940      </Position26>
    936941      <Position27>
    937         <Filename Value="../Specialized/SpecializedTree.pas"/>
    938         <Caret Line="82" Column="5" TopLine="47"/>
     942        <Filename Value="UMainForm.pas"/>
     943        <Caret Line="15" Column="35" TopLine="71"/>
    939944      </Position27>
    940945      <Position28>
    941946        <Filename Value="UMainForm.pas"/>
    942         <Caret Line="360" Column="51" TopLine="342"/>
     947        <Caret Line="14" Column="1" TopLine="1"/>
    943948      </Position28>
    944949      <Position29>
    945         <Filename Value="../Generic/GenericPoint.inc"/>
    946         <Caret Line="6" Column="1" TopLine="1"/>
     950        <Filename Value="../Generic/GenericList.inc"/>
     951        <Caret Line="24" Column="5" TopLine="23"/>
    947952      </Position29>
    948953      <Position30>
    949         <Filename Value="../Generic/GenericPoint.inc"/>
    950         <Caret Line="12" Column="62" TopLine="1"/>
     954        <Filename Value="../Generic/GenericList.inc"/>
     955        <Caret Line="33" Column="21" TopLine="17"/>
    951956      </Position30>
    952957    </JumpHistory>
     
    967972        <AllowLabel Value="False"/>
    968973        <CPPInline Value="False"/>
     974        <CStyleMacros Value="True"/>
    969975      </SyntaxOptions>
    970976    </Parsing>
  • Generics/TemplateGenerics/Demo/UMainForm.lfm

    r90 r91  
    44  Top = 121
    55  Width = 478
     6  ActiveControl = ButtonIntegerList
    67  Caption = 'Template generics demo'
    78  ClientHeight = 397
  • Generics/TemplateGenerics/Generic/GenericDictionary.inc

    r86 r91  
    1212{$DEFINE TGList := TGDictionaryList}
    1313{$DEFINE TGListSortCompare := TDictionarySortCompare}
    14 {$DEFINE TGListStringConverter := TDictionaryStringConverter}
     14{$DEFINE TGListToStringConverter := TDictionaryToStringConverter}
     15{$DEFINE TGListFromStringConverter := TDictionaryFromStringConverter}
    1516{$DEFINE INTERFACE}
    1617{$I 'GenericList.inc'}
     
    4546{$DEFINE TGList := TGDictionaryList}
    4647{$DEFINE TGListSortCompare := TDictionarySortCompare}
    47 {$DEFINE TGListStringConverter := TDictionaryStringConverter}
     48{$DEFINE TGListToStringConverter := TDictionaryToStringConverter}
     49{$DEFINE TGListFromStringConverter := TDictionaryFromStringConverter}
    4850{$DEFINE IMPLEMENTATION}
    4951{$I 'GenericList.inc'}
  • Generics/TemplateGenerics/Generic/GenericList.inc

    r90 r91  
    44
    55  TGListSortCompare = function(const Item1, Item2: TGListItem): Integer of object;
    6   TGListStringConverter = function(Item: TGListItem): string;
    7   //TGListNotification = (lnAdded, lnExtracted, lnDeleted);
     6  TGListToStringConverter = function(Item: TGListItem): string;
     7  TGListFromStringConverter = function(Text: string): TGListItem;
    88
    99  // TGList<TGListIndex, TGListItem> = class
     
    3131    procedure Delete(Index: TGListIndex); virtual;
    3232    procedure DeleteItems(Index, Count: TGListIndex);
    33     function Equals(List: TGList): Boolean;
     33    function EqualTo(List: TGList): Boolean;
    3434    procedure Expand;
    3535    function Extract(Item: TGListItem): TGListItem;
     
    3737    property First: TGListItem read GetFirst write SetFirst;
    3838    procedure Fill(Start, Count: TGListIndex; Value: TGListItem);
    39     function Implode(Separator: string; Converter: TGListStringConverter): string;
     39    function Implode(Separator: string; Converter: TGListToStringConverter): string;
     40    procedure Explode(Text, Separator: string; Converter: TGListFromStringConverter; SlicesCount: Integer = -1);
    4041    function IndexOf(Item: TGListItem; Start: TGListIndex = 0): TGListIndex;
    4142    function IndexOfList(List: TGList; Start: TGListIndex = 0): TGListIndex;
     
    304305end;
    305306
    306 function TGList.Equals(List: TGList): Boolean;
     307function TGList.EqualTo(List: TGList): Boolean;
    307308var
    308309  I: TGListIndex;
     
    372373end;
    373374
    374 function TGList.Implode(Separator: string; Converter: TGListStringConverter): string;
     375function TGList.Implode(Separator: string; Converter: TGListToStringConverter): string;
    375376var
    376377  I: TGListIndex;
     
    384385    I := I + 1;
    385386  end;
     387end;
     388
     389procedure TGList.Explode(Text, Separator: string; Converter: TGListFromStringConverter; SlicesCount: Integer = -1);
     390begin
     391  Clear;
     392  while (Pos(Separator, Text) > 0) and
     393  ((Count < (SlicesCount - 1)) or (SlicesCount = -1)) do begin
     394    Add(Converter(Copy(Text, 1, Pos(Separator, Text) - 1)));
     395    System.Delete(Text, 1, Pos(Separator, Text) + Length(Separator) - 1);
     396  end;
     397  Add(Converter(Text));
    386398end;
    387399
  • Generics/TemplateGenerics/Generic/GenericObjectList.inc

    r87 r91  
    55{$DEFINE TGList := TGObjectListList}
    66{$DEFINE TGListSortCompare := TGObjectListSortCompare}
    7 {$DEFINE TGListStringConverter := TGObjectListStringConverter}
     7{$DEFINE TGListToStringConverter := TGObjectListToStringConverter}
     8{$DEFINE TGListFromStringConverter := TGObjectListFromStringConverter}
    89{$DEFINE INTERFACE}
    910{$I 'GenericList.inc'}
     
    3839{$DEFINE TGList := TGObjectListList}
    3940{$DEFINE TGListSortCompare := TGObjectListSortCompare}
    40 {$DEFINE TGListStringConverter := TGObjectListStringConverter}
     41{$DEFINE TGListToStringConverter := TGObjectListToStringConverter}
     42{$DEFINE TGListFromStringConverter := TGObjectListFromStringConverter}
    4143{$DEFINE IMPLEMENTATION}
    4244{$I 'GenericList.inc'}
  • Generics/TemplateGenerics/Generic/GenericQueue.inc

    r86 r91  
    55{$DEFINE TGList := TGQueueList}
    66{$DEFINE TGListSortCompare := TGQueueSortCompare}
    7 {$DEFINE TGListStringConverter := TGQueueStringConverter}
     7{$DEFINE TGListToStringConverter := TGQueueToStringConverter}
     8{$DEFINE TGListFromStringConverter := TGQueueFromStringConverter}
    89{$DEFINE INTERFACE}
    910{$I 'GenericList.inc'}
     
    3940{$DEFINE TGList := TGQueueList}
    4041{$DEFINE TGListSortCompare := TGQueueSortCompare}
    41 {$DEFINE TGListStringConverter := TGQueueStringConverter}
     42{$DEFINE TGListToStringConverter := TGQueueToStringConverter}
     43{$DEFINE TGListFromStringConverter := TGQueueFromStringConverter}
    4244{$DEFINE IMPLEMENTATION}
    4345{$I 'GenericList.inc'}
  • Generics/TemplateGenerics/Generic/GenericSet.inc

    r86 r91  
    55{$DEFINE TGList := TGSetList}
    66{$DEFINE TGListSortCompare := TGSetSortCompare}
    7 {$DEFINE TGListStringConverter := TGSetStringConverter}
     7{$DEFINE TGListToStringConverter := TGSetToStringConverter}
     8{$DEFINE TGListFromStringConverter := TGSetFromStringConverter}
    89{$DEFINE INTERFACE}
    910{$I 'GenericList.inc'}
     
    3738{$DEFINE TGList := TGSetList}
    3839{$DEFINE TGListSortCompare := TGSetSortCompare}
    39 {$DEFINE TGListStringConverter := TGSetStringConverter}
     40{$DEFINE TGListToStringConverter := TGSetToStringConverter}
     41{$DEFINE TGListFromStringConverter := TGSetFromStringConverter}
    4042{$DEFINE IMPLEMENTATION}
    4143{$I 'GenericList.inc'}
  • Generics/TemplateGenerics/Generic/GenericStack.inc

    r86 r91  
    55{$DEFINE TGList := TGStackList}
    66{$DEFINE TGListSortCompare := TGStackSortCompare}
    7 {$DEFINE TGListStringConverter := TGStackStringConverter}
     7{$DEFINE TGListToStringConverter := TGStackToStringConverter}
     8{$DEFINE TGListFromStringConverter := TGStackFromStringConverter}
    89{$DEFINE INTERFACE}
    910{$I 'GenericList.inc'}
     
    3839{$DEFINE TGList := TGStackList}
    3940{$DEFINE TGListSortCompare := TGStackSortCompare}
    40 {$DEFINE TGListStringConverter := TGStackStringConverter}
     41{$DEFINE TGListToStringConverter := TGStackToStringConverter}
     42{$DEFINE TGListFromStringConverter := TGStackFromStringConverter}
    4143{$DEFINE IMPLEMENTATION}
    4244{$I 'GenericList.inc'}
  • Generics/TemplateGenerics/Generic/GenericTree.inc

    r86 r91  
    77{$DEFINE TGList := TGTreeNodeList}
    88{$DEFINE TGListSortCompare := TGTreeSortCompare}
    9 {$DEFINE TGListStringConverter := TGTreeStringConverter}
     9{$DEFINE TGListToStringConverter := TGTreeToStringConverter}
     10{$DEFINE TGListFromStringConverter := TGTreeFromStringConverter}
    1011{$DEFINE INTERFACE}
    1112{$I 'GenericList.inc'}
     
    4344{$DEFINE TGList := TGTreeNodeList}
    4445{$DEFINE TGListSortCompare := TGTreeSortCompare}
    45 {$DEFINE TGListStringConverter := TGTreeStringConverter}
     46{$DEFINE TGListToStringConverter := TGTreeToStringConverter}
     47{$DEFINE TGListFromStringConverter := TGTreeFromStringConverter}
    4648{$DEFINE IMPLEMENTATION}
    4749{$I 'GenericList.inc'}
  • Generics/TemplateGenerics/Specialized/SpecializedDictionary.pas

    r86 r91  
    1919{$DEFINE TGDictionaryList := TDictionaryList}
    2020{$DEFINE TGDictionarySortCompare := TDictionarySortCompareInteger}
    21 {$DEFINE TGDictionaryStringConverter := TDictionaryStringConverterInteger}
     21{$DEFINE TGDictionaryToStringConverter := TDictionaryToStringConverterInteger}
     22{$DEFINE TGDictionaryFromStringConverter := TDictionaryFromStringConverterInteger}
    2223{$DEFINE INTERFACE}
    2324{$I 'GenericDictionary.inc'}
     
    3334{$DEFINE TGDictionaryList := TDictionaryList}
    3435{$DEFINE TGDictionarySortCompare := TDictionarySortCompareInteger}
    35 {$DEFINE TGDictionaryStringConverter := TDictionaryStringConverterInteger}
     36{$DEFINE TGDictionaryToStringConverter := TDictionaryToStringConverterInteger}
     37{$DEFINE TGDictionaryFromStringConverter := TDictionaryFromStringConverterInteger}
    3638{$DEFINE IMPLEMENTATION}
    3739{$I 'GenericDictionary.inc'}
  • Generics/TemplateGenerics/Specialized/SpecializedList.pas

    r86 r91  
    1616{$DEFINE TGList := TListInteger}
    1717{$DEFINE TGListSortCompare := TListIntegerSortCompare}
    18 {$DEFINE TGListStringConverter := TListIntegerStringConverter}
     18{$DEFINE TGListToStringConverter := TListIntegerToStringConverter}
     19{$DEFINE TGListFromStringConverter := TListIntegerFromStringConverter}
    1920{$DEFINE INTERFACE}
    2021{$I 'GenericList.inc'}
     
    2526{$DEFINE TGList := TListSmallInt}
    2627{$DEFINE TGListSortCompare := TListSmallIntSortCompare}
    27 {$DEFINE TGListStringConverter := TListSmallIntStringConverter}
     28{$DEFINE TGListToStringConverter := TListSmallIntToStringConverter}
     29{$DEFINE TGListFromStringConverter := TListSmallIntFromStringConverter}
    2830{$DEFINE INTERFACE}
    2931{$I 'GenericList.inc'}
     
    3436{$DEFINE TGList := TListDouble}
    3537{$DEFINE TGListSortCompare := TListDoubleSortCompare}
    36 {$DEFINE TGListStringConverter := TListDoubleStringConverter}
     38{$DEFINE TGListToStringConverter := TListDoubleToStringConverter}
     39{$DEFINE TGListFromStringConverter := TListDoubleFromStringConverter}
    3740{$DEFINE INTERFACE}
    3841{$INCLUDE '..\Generic\GenericList.inc'}
     
    4346{$DEFINE TGList := TListPointer}
    4447{$DEFINE TGListSortCompare := TListPointerSortCompare}
    45 {$DEFINE TGListStringConverter := TListPointerStringConverter}
     48{$DEFINE TGListToStringConverter := TListPointerToStringConverter}
     49{$DEFINE TGListFromStringConverter := TListPointerFromStringConverter}
    4650{$DEFINE INTERFACE}
    4751{$I 'GenericList.inc'}
     
    5256{$DEFINE TGList := TListString}
    5357{$DEFINE TGListSortCompare := TListStringSortCompare}
    54 {$DEFINE TGListStringConverter := TListStringStringConverter}
     58{$DEFINE TGListToStringConverter := TListStringToStringConverter}
     59{$DEFINE TGListFromStringConverter := TListStringFromStringConverter}
    5560{$DEFINE INTERFACE}
    5661{$I 'GenericList.inc'}
     
    6166{$DEFINE TGList := TListByte}
    6267{$DEFINE TGListSortCompare := TListByteSortCompare}
    63 {$DEFINE TGListStringConverter := TListByteStringConverter}
     68{$DEFINE TGListToStringConverter := TListByteToStringConverter}
     69{$DEFINE TGListFromStringConverter := TListByteFromStringConverter}
    6470{$DEFINE INTERFACE}
    6571{$I 'GenericList.inc'}
     
    7076{$DEFINE TGList := TListCharBase}
    7177{$DEFINE TGListSortCompare := TListSortCompareChar}
    72 {$DEFINE TGListStringConverter := TListStringConverterChar}
     78{$DEFINE TGListToStringConverter := TListToStringConverterChar}
     79{$DEFINE TGListFromStringConverter := TListFromStringConverterChar}
    7380{$DEFINE INTERFACE}
    7481{$I 'GenericList.inc'}
     
    95102{$DEFINE TGList:=TListInteger}
    96103{$DEFINE TGListSortCompare:=TListIntegerSortCompare}
    97 {$DEFINE TGListStringConverter:=TListIntegerStringConverter}
     104{$DEFINE TGListToStringConverter:=TListIntegerToStringConverter}
     105{$DEFINE TGListFromStringConverter:=TListIntegerFromStringConverter}
    98106{$DEFINE IMPLEMENTATION}
    99107{$I 'GenericList.inc'}
     
    104112{$DEFINE TGList:=TListSmallInt}
    105113{$DEFINE TGListSortCompare:=TListSmallIntSortCompare}
    106 {$DEFINE TGListStringConverter:=TListSmallIntStringConverter}
     114{$DEFINE TGListToStringConverter:=TListSmallIntToStringConverter}
     115{$DEFINE TGListFromStringConverter:=TListSmallIntFromStringConverter}
    107116{$DEFINE IMPLEMENTATION}
    108117{$I 'GenericList.inc'}
     
    113122{$DEFINE TGList := TListDouble}
    114123{$DEFINE TGListSortCompare := TListDoubleSortCompare}
    115 {$DEFINE TGListStringConverter := TListDoubleStringConverter}
     124{$DEFINE TGListToStringConverter := TListDoubleToStringConverter}
     125{$DEFINE TGListFromStringConverter := TListDoubleFromStringConverter}
    116126{$DEFINE IMPLEMENTATION}
    117127{$I 'GenericList.inc'}
     
    122132{$DEFINE TGList := TListPointer}
    123133{$DEFINE TGListSortCompare := TListPointerSortCompare}
    124 {$DEFINE TGListStringConverter := TListPointerStringConverter}
     134{$DEFINE TGListToStringConverter := TListPointerToStringConverter}
     135{$DEFINE TGListFromStringConverter := TListPointerFromStringConverter}
    125136{$DEFINE IMPLEMENTATION}
    126137{$I 'GenericList.inc'}
     
    131142{$DEFINE TGList := TListString}
    132143{$DEFINE TGListSortCompare := TListStringSortCompare}
    133 {$DEFINE TGListStringConverter := TListStringStringConverter}
     144{$DEFINE TGListToStringConverter := TListStringToStringConverter}
     145{$DEFINE TGListFromStringConverter := TListStringFromStringConverter}
    134146{$DEFINE IMPLEMENTATION}
    135147{$I 'GenericList.inc'}
     
    140152{$DEFINE TGList := TListByte}
    141153{$DEFINE TGListSortCompare := TListByteSortCompare}
    142 {$DEFINE TGListStringConverter := TListByteStringConverter}
     154{$DEFINE TGListToStringConverter := TListByteToStringConverter}
     155{$DEFINE TGListFromStringConverter := TListByteFromStringConverter}
    143156{$DEFINE IMPLEMENTATION}
    144157{$I 'GenericList.inc'}
     
    149162{$DEFINE TGList := TListCharBase}
    150163{$DEFINE TGListSortCompare := TListSortCompareChar}
    151 {$DEFINE TGListStringConverter := TListStringConverterChar}
     164{$DEFINE TGListToStringConverter := TListToStringConverterChar}
     165{$DEFINE TGListFromStringConverter := TListFromStringConverterChar}
    152166{$DEFINE IMPLEMENTATION}
    153167{$I 'GenericList.inc'}
  • Generics/TemplateGenerics/Specialized/SpecializedObjectList.pas

    r87 r91  
    1717{$DEFINE TGObjectList := TListObject}
    1818{$DEFINE TGObjectListSortCompare := TObjectListSortCompareObject}
    19 {$DEFINE TGObjectListStringConverter := TObjectListStringConverterObject}
     19{$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterObject}
     20{$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterObject}
    2021{$DEFINE INTERFACE}
    2122{$I 'GenericObjectList.inc'}
     
    3233{$DEFINE TGObjectList := TListObject}
    3334{$DEFINE TGObjectListSortCompare := TObjectListSortCompareObject}
    34 {$DEFINE TGObjectListStringConverter := TObjectListStringConverterObject}
     35{$DEFINE TGObjectListToStringConverter := TObjectListToStringConverterObject}
     36{$DEFINE TGObjectListFromStringConverter := TObjectListFromStringConverterObject}
    3537{$DEFINE IMPLEMENTATION}
    3638{$I 'GenericObjectList.inc'}
  • Generics/TemplateGenerics/Specialized/SpecializedQueue.pas

    r86 r91  
    1717{$DEFINE TGQueueList := TQueueListInteger}
    1818{$DEFINE TGQueueSortCompare := TQueueSortCompareInteger}
    19 {$DEFINE TGQueueStringConverter := TQueueStringConverterInteger}
     19{$DEFINE TGQueueToStringConverter := TQueueToStringConverterInteger}
     20{$DEFINE TGQueueFromStringConverter := TQueueFromStringConverterInteger}
    2021{$DEFINE INTERFACE}
    2122{$I 'GenericQueue.inc'}
     
    2728{$DEFINE TGQueueList := TQueueListPointer}
    2829{$DEFINE TGQueueSortCompare := TQueueSortComparePointer}
    29 {$DEFINE TGQueueStringConverter := TQueueStringConverterPointer}
     30{$DEFINE TGQueueToStringConverter := TQueueToStringConverterPointer}
     31{$DEFINE TGQueueFromStringConverter := TQueueFromStringConverterPointer}
    3032{$DEFINE INTERFACE}
    3133{$I 'GenericQueue.inc'}
     
    3739{$DEFINE TGQueueList := TQueueListByte}
    3840{$DEFINE TGQueueSortCompare := TQueueSortCompareByte}
    39 {$DEFINE TGQueueStringConverter := TQueueStringConverterByte}
     41{$DEFINE TGQueueToStringConverter := TQueueToStringConverterByte}
     42{$DEFINE TGQueueFromStringConverter := TQueueFromStringConverterByte}
    4043{$DEFINE INTERFACE}
    4144{$I 'GenericQueue.inc'}
     
    5255{$DEFINE TGQueueList := TQueueListInteger}
    5356{$DEFINE TGQueueSortCompare := TQueueSortCompareInteger}
    54 {$DEFINE TGQueueStringConverter := TQueueStringConverterInteger}
     57{$DEFINE TGQueueToStringConverter := TQueueToStringConverterInteger}
     58{$DEFINE TGQueueFromStringConverter := TQueueFromStringConverterInteger}
    5559{$DEFINE IMPLEMENTATION}
    5660{$I '..\Generic\GenericQueue.inc'}
     
    6266{$DEFINE TGQueueList := TQueueListPointer}
    6367{$DEFINE TGQueueSortCompare := TQueueSortComparePointer}
    64 {$DEFINE TGQueueStringConverter := TQueueStringConverterPointer}
     68{$DEFINE TGQueueToStringConverter := TQueueToStringConverterPointer}
     69{$DEFINE TGQueueFromStringConverter := TQueueFromStringConverterPointer}
    6570{$DEFINE IMPLEMENTATION}
    6671{$I 'GenericQueue.inc'}
     
    7277{$DEFINE TGQueueList := TQueueListByte}
    7378{$DEFINE TGQueueSortCompare := TQueueSortCompareByte}
    74 {$DEFINE TGQueueStringConverter := TQueueStringConverterByte}
     79{$DEFINE TGQueueToStringConverter := TQueueToStringConverterByte}
     80{$DEFINE TGQueueFromStringConverter := TQueueFromStringConverterByte}
    7581{$DEFINE IMPLEMENTATION}
    7682{$I 'GenericQueue.inc'}
  • Generics/TemplateGenerics/Specialized/SpecializedSet.pas

    r86 r91  
    1717{$DEFINE TGSet := TSetInteger}
    1818{$DEFINE TGSetSortCompare := TSetSortCompareInteger}
    19 {$DEFINE TGSetStringConverter := TSetStringConverterInteger}
     19{$DEFINE TGSetToStringConverter := TSetToStringConverterInteger}
     20{$DEFINE TGSetFromStringConverter := TSetFromStringConverterInteger}
    2021{$DEFINE INTERFACE}
    2122{$I 'GenericSet.inc'}
     
    2728{$DEFINE TGSet := TSetPointer}
    2829{$DEFINE TGSetSortCompare := TSetSortComparePointer}
    29 {$DEFINE TGSetStringConverter := TSetStringConverterPointer}
     30{$DEFINE TGSetToStringConverter := TSetToStringConverterPointer}
     31{$DEFINE TGSetFromStringConverter := TSetFromStringConverterPointer}
    3032{$DEFINE INTERFACE}
    3133{$I 'GenericSet.inc'}
     
    4244{$DEFINE TGSet := TSetInteger}
    4345{$DEFINE TGSetSortCompare := TSetSortCompareInteger}
    44 {$DEFINE TGSetStringConverter := TSetStringConverterInteger}
     46{$DEFINE TGSetToStringConverter := TSetToStringConverterInteger}
     47{$DEFINE TGSetFromStringConverter := TSetFromStringConverterInteger}
    4548{$DEFINE IMPLEMENTATION}
    4649{$I 'GenericSet.inc'}
     
    5255{$DEFINE TGSet := TSetPointer}
    5356{$DEFINE TGSetSortCompare := TSetSortComparePointer}
    54 {$DEFINE TGSetStringConverter := TSetStringConverterPointer}
     57{$DEFINE TGSetToStringConverter := TSetToStringConverterPointer}
     58{$DEFINE TGSetFromStringConverter := TSetFromStringConverterPointer}
    5559{$DEFINE IMPLEMENTATION}
    5660{$I 'GenericSet.inc'}
  • Generics/TemplateGenerics/Specialized/SpecializedStack.pas

    r86 r91  
    1717{$DEFINE TGStack := TStackInteger}
    1818{$DEFINE TGStackSortCompare := TStackSortCompareInteger}
    19 {$DEFINE TGStackStringConverter := TStackStringConverterInteger}
     19{$DEFINE TGStackToStringConverter := TStackToStringConverterInteger}
     20{$DEFINE TGStackFromStringConverter := TStackFromStringConverterInteger}
    2021{$DEFINE INTERFACE}
    2122{$I 'GenericStack.inc'}
     
    2728{$DEFINE TGStack := TStackPointer}
    2829{$DEFINE TGStackSortCompare := TStackSortComparePointer}
    29 {$DEFINE TGStackStringConverter := TStackStringConverterPointer}
     30{$DEFINE TGStackToStringConverter := TStackToStringConverterPointer}
     31{$DEFINE TGStackFromStringConverter := TStackFromStringConverterPointer}
    3032{$DEFINE INTERFACE}
    3133{$I 'GenericStack.inc'}
     
    4345{$DEFINE TGStack := TStackInteger}
    4446{$DEFINE TGStackSortCompare := TStackSortCompareInteger}
    45 {$DEFINE TGStackStringConverter := TStackStringConverterInteger}
     47{$DEFINE TGStackToStringConverter := TStackToStringConverterInteger}
     48{$DEFINE TGStackFromStringConverter := TStackFromStringConverterInteger}
    4649{$DEFINE IMPLEMENTATION}
    4750{$I 'GenericStack.inc'}
     
    5356{$DEFINE TGStack := TStackPointer}
    5457{$DEFINE TGStackSortCompare := TStackSortComparePointer}
    55 {$DEFINE TGStackStringConverter := TStackStringConverterPointer}
     58{$DEFINE TGStackToStringConverter := TStackToStringConverterPointer}
     59{$DEFINE TGStackFromStringConverter := TStackFromStringConverterPointer}
    5660{$DEFINE IMPLEMENTATION}
    5761{$I 'GenericStack.inc'}
  • Generics/TemplateGenerics/Specialized/SpecializedTree.pas

    r86 r91  
    1717{$DEFINE TGTreeNodeList := TTreeNodeListInteger}
    1818{$DEFINE TGTreeSortCompare := TTreeSortCompareInteger}
    19 {$DEFINE TGTreeStringConverter := TTreeStringConverterInteger}
     19{$DEFINE TGTreeToStringConverter := TTreeToStringConverterInteger}
     20{$DEFINE TGTreeFromStringConverter := TTreeFromStringConverterInteger}
    2021{$DEFINE INTERFACE}
    2122{$I 'GenericTree.inc'}
     
    2829{$DEFINE TGTreeNodeList := TTreeNodeListString}
    2930{$DEFINE TGTreeSortCompare := TTreeSortCompareString}
    30 {$DEFINE TGTreeStringConverter := TTreeStringConverterString}
     31{$DEFINE TGTreeToStringConverter := TTreeToStringConverterString}
     32{$DEFINE TGTreeFromStringConverter := TTreeFromStringConverterString}
    3133{$DEFINE INTERFACE}
    3234{$I 'GenericTree.inc'}
     
    3941{$DEFINE TGTreeNodeList := TTreeNodeListPointer}
    4042{$DEFINE TGTreeSortCompare := TTreeSortComparePointer}
    41 {$DEFINE TGTreeStringConverter := TTreeStringConverterPointer}
     43{$DEFINE TGTreeToStringConverter := TTreeToStringConverterPointer}
     44{$DEFINE TGTreeFromStringConverter := TTreeFromStringConverterPointer}
    4245{$DEFINE INTERFACE}
    4346{$I 'GenericTree.inc'}
     
    5558{$DEFINE TGTreeNodeList := TTreeNodeListInteger}
    5659{$DEFINE TGTreeSortCompare := TTreeSortCompareInteger}
    57 {$DEFINE TGTreeStringConverter := TTreeStringConverterInteger}
     60{$DEFINE TGTreeToStringConverter := TTreeToStringConverterInteger}
     61{$DEFINE TGTreeFromStringConverter := TTreeFromStringConverterInteger}
    5862{$DEFINE IMPLEMENTATION}
    5963{$I 'GenericTree.inc'}
     
    6670{$DEFINE TGTreeNodeList := TTreeNodeListString}
    6771{$DEFINE TGTreeSortCompare := TTreeSortCompareString}
    68 {$DEFINE TGTreeStringConverter := TTreeStringConverterString}
     72{$DEFINE TGTreeToStringConverter := TTreeToStringConverterString}
     73{$DEFINE TGTreeFromStringConverter := TTreeFromStringConverterString}
    6974{$DEFINE IMPLEMENTATION}
    7075{$I 'GenericTree.inc'}
     
    7782{$DEFINE TGTreeNodeList := TTreeNodeListPointer}
    7883{$DEFINE TGTreeSortCompare := TTreeSortComparePointer}
    79 {$DEFINE TGTreeStringConverter := TTreeStringConverterPointer}
     84{$DEFINE TGTreeToStringConverter := TTreeToStringConverterPointer}
     85{$DEFINE TGTreeFromStringConverter := TTreeFromStringConverterPointer}
    8086{$DEFINE IMPLEMENTATION}
    8187{$I 'GenericTree.inc'}
  • Generics/TemplateGenerics/TemplateGenerics.lpk

    r90 r91  
    1919    <Description Value="Generic classes implemented as templates."/>
    2020    <Version Minor="2"/>
    21     <Files Count="18">
     21    <Files Count="16">
    2222      <Item1>
    2323        <Filename Value="ReadMe.txt"/>
     
    8484        <UnitName Value="SpecializedObjectList"/>
    8585      </Item16>
    86       <Item17>
    87         <Filename Value="Generic\GenericPoint.inc"/>
    88       </Item17>
    89       <Item18>
    90         <Filename Value="Specialized\SpecializedPoint.pas"/>
    91         <UnitName Value="SpecializedPoint"/>
    92       </Item18>
    9386    </Files>
    9487    <Type Value="RunAndDesignTime"/>
  • Generics/TemplateGenerics/TemplateGenerics.pas

    r90 r91  
    99uses
    1010    SpecializedList, SpecializedDictionary, SpecializedStack, SpecializedTree,
    11   SpecializedQueue, SpecializedSet, SpecializedObjectList, SpecializedPoint,
    12   LazarusPackageIntf;
     11  SpecializedQueue, SpecializedSet, SpecializedObjectList, LazarusPackageIntf;
    1312
    1413implementation
Note: See TracChangeset for help on using the changeset viewer.