-
Notifications
You must be signed in to change notification settings - Fork 34
/
uHelper.SvStringTrie.pas
35 lines (33 loc) · 1.04 KB
/
uHelper.SvStringTrie.pas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
unit uHelper.SvStringTrie;
interface
uses
System.Generics.Collections, System.SysUtils,
uUnit, SvCollections.Tries;
type
TSvStringTrieUnit = TSvStringTrie<TUnit>;
TSvStringTrieHelper = class helper for TSvStringTrieUnit
procedure AddUnit(const AUnit : TUnit; AOnlyPublic : Boolean = true);
end;
implementation
{ TSvStringTrieHelper }
{------------------------------------------------------------------------------}
procedure TSvStringTrieHelper.AddUnit(const AUnit: TUnit; AOnlyPublic : Boolean);
var
tempPair : TPairStringObject;
tempUnit : TUnit;
LUnitList : TList<TPairStringObject>;
begin
LUnitList := AUnit.ToList(AOnlyPublic);
try
for tempPair in LUnitList do
begin
tempUnit := TUnit(tempPair.Value);
if Assigned(tempUnit) and not tempPair.Key.IsEmpty then
self.Add(tempPair.Key, tempUnit);
end;
finally
FreeAndNil(LUnitList);
end;
end;
{------------------------------------------------------------------------------}
end.