mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 20:08:12 +02:00
30 lines
503 B
ObjectPascal
30 lines
503 B
ObjectPascal
{$mode objfpc}
|
|
|
|
type
|
|
generic TMap<TK, TD> = class(TObject)
|
|
Key: TK;
|
|
Data: TD;
|
|
procedure Add(const AKey: TK; const AData: TD);
|
|
end;
|
|
|
|
procedure TMap.Add(const AKey: TK; const AData: TD);
|
|
begin
|
|
Key := AKey;
|
|
Data := AData;
|
|
end;
|
|
|
|
type
|
|
TMyStringList = specialize TMap<string, TObject>;
|
|
|
|
var
|
|
slist: TMyStringList;
|
|
begin
|
|
slist := TMyStringList.Create;
|
|
slist.Add('test', slist);
|
|
if slist.Key <> 'test' then
|
|
halt(1);
|
|
if slist.Data <> slist then
|
|
halt(1);
|
|
slist.Free;
|
|
end.
|