Lines Matching refs:Active
33 Active.Node = Root; in SuffixTree()
185 if (Active.Len == 0) { in extend()
187 Active.Idx = EndIdx; in extend()
190 assert(Active.Idx <= EndIdx && "Start index can't be after end index!"); in extend()
193 unsigned FirstChar = Str[Active.Idx]; in extend()
196 if (Active.Node->Children.count(FirstChar) == 0) { in extend()
198 insertLeaf(*Active.Node, EndIdx, FirstChar); in extend()
203 NeedsLink->setLink(Active.Node); in extend()
209 SuffixTreeNode *NextNode = Active.Node->Children[FirstChar]; in extend()
215 if (Active.Len >= SubstringLen) { in extend()
220 Active.Idx += SubstringLen; in extend()
221 Active.Len -= SubstringLen; in extend()
222 Active.Node = cast<SuffixTreeInternalNode>(NextNode); in extend()
231 if (Str[NextNode->getStartIdx() + Active.Len] == LastChar) { in extend()
235 if (NeedsLink && !Active.Node->isRoot()) { in extend()
236 NeedsLink->setLink(Active.Node); in extend()
240 Active.Len++; in extend()
259 Active.Node, NextNode->getStartIdx(), in extend()
260 NextNode->getStartIdx() + Active.Len - 1, FirstChar); in extend()
268 NextNode->incrementStartIdx(Active.Len); in extend()
282 if (Active.Node->isRoot()) { in extend()
283 if (Active.Len > 0) { in extend()
284 Active.Len--; in extend()
285 Active.Idx = EndIdx - SuffixesToAdd + 1; in extend()
289 Active.Node = Active.Node->getLink(); in extend()