mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-15 12:29:32 +02:00
* Allow context when sorting lists (patch from Ondrej Pokorny, bug ID #0035962)
git-svn-id: trunk@42798 -
This commit is contained in:
parent
c1e3c61af3
commit
91ba1214d2
@ -256,6 +256,8 @@ Type
|
|||||||
procedure Pack;
|
procedure Pack;
|
||||||
procedure Sort(Compare: TListSortCompare);
|
procedure Sort(Compare: TListSortCompare);
|
||||||
procedure Sort(Compare: TListSortCompare; SortingAlgorithm: PSortingAlgorithm);
|
procedure Sort(Compare: TListSortCompare; SortingAlgorithm: PSortingAlgorithm);
|
||||||
|
procedure Sort(Compare: TListSortComparer_Context; Context: Pointer);
|
||||||
|
procedure Sort(Compare: TListSortComparer_Context; Context: Pointer; SortingAlgorithm: PSortingAlgorithm);
|
||||||
procedure ForEachCall(proc2call:TListCallback;arg:pointer);
|
procedure ForEachCall(proc2call:TListCallback;arg:pointer);
|
||||||
procedure ForEachCall(proc2call:TListStaticCallback;arg:pointer);
|
procedure ForEachCall(proc2call:TListStaticCallback;arg:pointer);
|
||||||
property Capacity: Integer read FCapacity write SetCapacity;
|
property Capacity: Integer read FCapacity write SetCapacity;
|
||||||
@ -342,6 +344,8 @@ Type
|
|||||||
procedure Pack;
|
procedure Pack;
|
||||||
procedure Sort(Compare: TListSortCompare);
|
procedure Sort(Compare: TListSortCompare);
|
||||||
procedure Sort(Compare: TListSortCompare; SortingAlgorithm: PSortingAlgorithm);
|
procedure Sort(Compare: TListSortCompare; SortingAlgorithm: PSortingAlgorithm);
|
||||||
|
procedure Sort(Compare: TListSortComparer_Context; Context: Pointer);
|
||||||
|
procedure Sort(Compare: TListSortComparer_Context; Context: Pointer; SortingAlgorithm: PSortingAlgorithm);
|
||||||
property Capacity: Integer read GetCapacity write SetCapacity;
|
property Capacity: Integer read GetCapacity write SetCapacity;
|
||||||
property Count: Integer read GetCount write SetCount;
|
property Count: Integer read GetCount write SetCount;
|
||||||
property Items[Index: Integer]: Pointer read Get write Put; default;
|
property Items[Index: Integer]: Pointer read Get write Put; default;
|
||||||
|
@ -312,6 +312,18 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TFPList.Sort(Compare: TListSortComparer_Context; Context: Pointer);
|
||||||
|
begin
|
||||||
|
Sort(Compare, Context, SortBase.DefaultSortingAlgorithm);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
procedure TFPList.Sort(Compare: TListSortComparer_Context; Context: Pointer; SortingAlgorithm: PSortingAlgorithm);
|
||||||
|
begin
|
||||||
|
SortingAlgorithm^.PtrListSorter_ContextComparer(PPointer(FList), FCount, Compare, Context);
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TFPList.ForEachCall(proc2call:TListCallback;arg:pointer);
|
procedure TFPList.ForEachCall(proc2call:TListCallback;arg:pointer);
|
||||||
var
|
var
|
||||||
i : integer;
|
i : integer;
|
||||||
@ -784,6 +796,16 @@ begin
|
|||||||
FList.Sort(Compare, SortingAlgorithm);
|
FList.Sort(Compare, SortingAlgorithm);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TList.Sort(Compare: TListSortComparer_Context; Context: Pointer);
|
||||||
|
begin
|
||||||
|
FList.Sort(Compare, Context);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TList.Sort(Compare: TListSortComparer_Context; Context: Pointer; SortingAlgorithm: PSortingAlgorithm);
|
||||||
|
begin
|
||||||
|
FList.Sort(Compare, Context, SortingAlgorithm);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TList.CopyMove (aList : TList);
|
procedure TList.CopyMove (aList : TList);
|
||||||
var r : integer;
|
var r : integer;
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user