4 instantiations of TrieSegment
System.ServiceModel (4)
System\ServiceModel\Dispatcher\QueryPrefixOp.cs (4)
357
newSegment = new
TrieSegment
(this.segmentFirstChar);
362
newSegment = new
TrieSegment
(this.segmentFirstChar, this.segmentTail.Substring(0, charIndex - 1));
617
traverser.Segment = parent.AddChild(new
TrieSegment
(newPrefix, traverser.Offset, traverser.Length));
630
this.root = new
TrieSegment
();
41 references to TrieSegment
System.ServiceModel (41)
System\ServiceModel\Dispatcher\QueryPrefixOp.cs (41)
10
internal class TrieSegmentComparer : IComparer<
TrieSegment
>
12
public int Compare(
TrieSegment
t1,
TrieSegment
t2)
17
public bool Equals(
TrieSegment
t1,
TrieSegment
t2)
22
public int GetHashCode(
TrieSegment
t)
28
internal class TrieSegmentKeyComparer : IItemComparer<char,
TrieSegment
>
30
public int Compare(char c,
TrieSegment
t)
41
SortedBuffer<
TrieSegment
, TrieSegmentComparer> children;
43
TrieSegment
parent; // segment's parent
62
this.children = new SortedBuffer<
TrieSegment
, TrieSegmentComparer>(SegComparer);
69
this.children = new SortedBuffer<
TrieSegment
, TrieSegmentComparer>(SegComparer);
154
internal
TrieSegment
AddChild(
TrieSegment
segment)
198
internal
TrieSegment
GetChild(int index)
220
TrieSegment
child = this.children[index];
238
internal int IndexOf(
TrieSegment
segment)
243
internal void MergeChild(
TrieSegment
segment)
260
TrieSegment
child = this.children[childIndex];
263
TrieSegment
grandchild = child.children[0];
289
void RemoveChild(
TrieSegment
segment)
308
TrieSegment
child = this.children[childIndex];
350
TrieSegment
SplitAt(int charIndex)
354
TrieSegment
newSegment;
370
internal
TrieSegment
SplitChild(int childIndex, int charIndex)
374
TrieSegment
child = this.children[childIndex];
376
TrieSegment
newChild = child.SplitAt(charIndex);
397
TrieSegment
rootSegment;
398
TrieSegment
segment;
401
internal TrieTraverser(
TrieSegment
root, string prefix)
437
internal
TrieSegment
Segment
534
TrieSegment
root; // prefix tree root
559
internal
TrieSegment
this[string prefix]
570
internal
TrieSegment
Root
579
internal
TrieSegment
Add(string newPrefix)
588
TrieSegment
parent;
634
TrieSegment
Find(string prefix)
649
TrieSegment
foundSegment = null;
674
TrieSegment
trieSegment = this[segment];
806
TrieSegment
segment = this.trie[(string)key];
816
TrieSegment
segment = this.trie.Add((string)key);