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