* Add AddList to list classes (bug ID 32447)

git-svn-id: trunk@37268 -
This commit is contained in:
michael 2017-09-20 14:21:52 +00:00
parent d99b19734e
commit aabc5dc217

View File

@ -80,6 +80,7 @@ type
function Insert(Index: Integer): Pointer;
procedure Move(CurIndex, NewIndex: Integer);
procedure Assign(Obj: TFPSList);
procedure AddList(Obj: TFPSList);
function Remove(Item: Pointer): Integer;
procedure Pack;
procedure Sort(Compare: TFPSListCompareFunc);
@ -143,6 +144,7 @@ type
property Last: T read GetLast write SetLast;
{$ifndef VER2_4}
procedure Assign(Source: TFPGList);
procedure AddList(Source: TFPGList);
{$endif VER2_4}
function Remove(const Item: T): Integer; {$ifdef FGLINLINE} inline; {$endif}
procedure Sort(Compare: TCompareFunc);
@ -181,6 +183,7 @@ type
procedure Insert(Index: Integer; const Item: T); {$ifdef FGLINLINE} inline; {$endif}
property Last: T read GetLast write SetLast;
{$ifndef VER2_4}
procedure AddList(Source: TFPGObjectList);
procedure Assign(Source: TFPGObjectList);
{$endif VER2_4}
function Remove(const Item: T): Integer; {$ifdef FGLINLINE} inline; {$endif}
@ -221,6 +224,7 @@ type
property Last: T read GetLast write SetLast;
{$ifndef VER2_4}
procedure Assign(Source: TFPGInterfacedObjectList);
procedure AddList(Source: TFPGInterfacedObjectList);
{$endif VER2_4}
function Remove(const Item: T): Integer; {$ifdef FGLINLINE} inline; {$endif}
procedure Sort(Compare: TCompareFunc);
@ -798,17 +802,26 @@ begin
QuickSort(0, FCount-1, Compare);
end;
procedure TFPSList.Assign(Obj: TFPSList);
procedure TFPSList.AddList(Obj: TFPSList);
var
i: Integer;
begin
if Obj.ItemSize <> FItemSize then
Error(SListItemSizeError, 0);
Clear;
for I := 0 to Obj.Count - 1 do
Add(Obj[i]);
end;
procedure TFPSList.Assign(Obj: TFPSList);
begin
// We must do this check here, to avoid clearing the list.
if Obj.ItemSize <> FItemSize then
Error(SListItemSizeError, 0);
Clear;
AddList(Obj);
end;
{****************************************************************************}
{* TFPGListEnumerator *}
{****************************************************************************}
@ -927,14 +940,21 @@ begin
end;
{$ifndef VER2_4}
procedure TFPGList.Assign(Source: TFPGList);
procedure TFPGList.AddList(Source: TFPGList);
var
i: Integer;
begin
Clear;
for I := 0 to Source.Count - 1 do
Add(Source[i]);
end;
procedure TFPGList.Assign(Source: TFPGList);
begin
Clear;
AddList(Source);
end;
{$endif VER2_4}
function TFPGList.Remove(const Item: T): Integer;
@ -1043,14 +1063,19 @@ begin
end;
{$ifndef VER2_4}
procedure TFPGObjectList.Assign(Source: TFPGObjectList);
procedure TFPGObjectList.AddList(Source: TFPGObjectList);
var
i: Integer;
begin
Clear;
for I := 0 to Source.Count - 1 do
Add(Source[i]);
end;
procedure TFPGObjectList.Assign(Source: TFPGObjectList);
begin
Clear;
AddList(Source);
end;
{$endif VER2_4}
function TFPGObjectList.Remove(const Item: T): Integer;
@ -1163,10 +1188,16 @@ end;
{$ifndef VER2_4}
procedure TFPGInterfacedObjectList.Assign(Source: TFPGInterfacedObjectList);
begin
Clear;
AddList(Source);
end;
procedure TFPGInterfacedObjectList.AddList(Source: TFPGInterfacedObjectList);
var
i: Integer;
begin
Clear;
for I := 0 to Source.Count - 1 do
Add(Source[i]);
end;