|
@@ -64,6 +64,7 @@ type
|
|
|
|
|
|
class function Construct(const AComparison: TOnComparison<T>): IComparer<T>; overload;
|
|
class function Construct(const AComparison: TOnComparison<T>): IComparer<T>; overload;
|
|
class function Construct(const AComparison: TComparisonFunc<T>): IComparer<T>; overload;
|
|
class function Construct(const AComparison: TComparisonFunc<T>): IComparer<T>; overload;
|
|
|
|
+ class function Construct(const AComparison: TComparison<T>): IComparer<T>; overload;
|
|
end;
|
|
end;
|
|
|
|
|
|
TDelegatedComparerEvents<T> = class(TComparer<T>)
|
|
TDelegatedComparerEvents<T> = class(TComparer<T>)
|
|
@@ -1105,6 +1106,11 @@ begin
|
|
Result := TDelegatedComparerEvents<T>.Create(AComparison);
|
|
Result := TDelegatedComparerEvents<T>.Create(AComparison);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
+class function TComparer<T>.Construct(const AComparison: TComparison<T>): IComparer<T>;
|
|
|
|
+begin
|
|
|
|
+ Result := TDelegatedComparer<T>.Create(AComparison);
|
|
|
|
+end;
|
|
|
|
+
|
|
class function TComparer<T>.Construct(const AComparison: TComparisonFunc<T>): IComparer<T>;
|
|
class function TComparer<T>.Construct(const AComparison: TComparisonFunc<T>): IComparer<T>;
|
|
begin
|
|
begin
|
|
Result := TDelegatedComparerFunc<T>.Create(AComparison);
|
|
Result := TDelegatedComparerFunc<T>.Create(AComparison);
|