new examples for fcl-stl

git-svn-id: trunk@19053 -
This commit is contained in:
vladob 2011-09-12 08:46:05 +00:00
parent fd908a70f1
commit 76b511bec5
4 changed files with 72 additions and 1 deletions

2
.gitattributes vendored
View File

@ -2328,6 +2328,8 @@ packages/fcl-stl/Makefile.fpc svneol=native#text/plain
packages/fcl-stl/doc/arrayutils.tex svneol=native#text/plain
packages/fcl-stl/doc/deque.tex svneol=native#text/plain
packages/fcl-stl/doc/dequeexample.pp svneol=native#text/plain
packages/fcl-stl/doc/hashmapexample.pp svneol=native#text/plain
packages/fcl-stl/doc/hashsetexample.pp svneol=native#text/plain
packages/fcl-stl/doc/main.tex svneol=native#text/plain
packages/fcl-stl/doc/makra.tex svneol=native#text/plain
packages/fcl-stl/doc/map.tex svneol=native#text/plain

View File

@ -0,0 +1,35 @@
{$mode objfpc}
uses ghashmap;
type hashlli=class
public
class function hash(a:longint; b:SizeUInt):SizeUInt;
end;
maplli=specialize THashMap<longint, longint, hashlli>;
class function hashlli.hash(a:longint; b:SizeUInt):SizeUInt;
begin
hash:= a mod b;
end;
var data:maplli; i:longint; iterator:maplli.TIterator;
begin
data:=maplli.Create;
for i:=0 to 10 do
data[i] := 17*i;
data.delete(5);
{Iteration through elements}
iterator:=data.Iterator;
repeat
writeln(iterator.Key, ' ', iterator.Value);
until not iterator.Next;
{Don't forget to destroy iterator}
iterator.Destroy;
data.Destroy;
end.

View File

@ -0,0 +1,33 @@
{$mode objfpc}
uses ghashset;
type hashlli=class
public
class function hash(a:longint; b:SizeUInt):SizeUInt;
end;
setlli=specialize THashSet<longint, hashlli>;
class function hashlli.hash(a:longint; b:SizeUInt):SizeUInt;
begin
hash:= a mod b;
end;
var data:setlli; i:longint; iterator:setlli.TIterator;
begin
data:=setlli.Create;
for i:=0 to 10 do
data.insert(i);
{Iteration through elements}
iterator:=data.Iterator;
repeat
writeln(iterator.Data);
until not iterator.Next;
{Don't forget to destroy iterator}
iterator.Destroy;
data.Destroy;
end.

View File

@ -2,7 +2,8 @@ uses garrayutils, gutil, gvector;
type vectorlli = specialize TVector<longint>;
lesslli = specialize TLess<longint>;
sortlli = specialize TOrderingArrayUtils<vectorlli, longint, lesslli>;
sortlli = specialize
TOrderingArrayUtils<vectorlli, longint, lesslli>;
var data:vectorlli; n,i:longint;