fpc/tests/test/tgeneric9.pp
micha 00d66f9142 + template test with 2 template parameters
git-svn-id: trunk@5301 -
2006-11-09 21:25:36 +00:00

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.