unit ultimate_generic_quicksort;

{$MODE FPC}
{$MODESWITCH DEFAULTPARAMETERS}
{$MODESWITCH OUT}
{$MODESWITCH RESULT}

interface

type
generic TUltimateGenericQuickSorter<
    TValue,
    TValueTraits,
    TComparator
  > = object
public type
  PValue = ^TValue;
public
  procedure Sort(Elements: PValue; Count: SizeUInt); static; inline; overload;
  procedure Sort(Elements, ElementsEnd: PValue); static; overload;
end;

implementation

procedure TUltimateGenericQuickSorter.Sort(Elements: PValue; Count: SizeUInt);
begin
end;

procedure TUltimateGenericQuickSorter.Sort(Elements, ElementsEnd: PValue);
begin
end;

end.
