Lines Matching defs:EndIdx
139 /// Every leaf node must have its \p EndIdx incremented at the end of every
143 unsigned *EndIdx = nullptr;
196 assert(*EndIdx != EmptyIdx && "EndIdx is undefined!");
200 return *EndIdx - StartIdx + 1;
203 SuffixTreeNode(unsigned StartIdx, unsigned *EndIdx, SuffixTreeNode *Link,
205 : StartIdx(StartIdx), EndIdx(EndIdx), Link(Link), Parent(Parent) {}
304 /// \param EndIdx The end index of this node's associated string.
309 unsigned EndIdx, unsigned Edge) {
311 assert(StartIdx <= EndIdx && "String can't start after it ends!");
315 unsigned *E = new (InternalEndIdxAllocator) unsigned(EndIdx);
363 /// \p EndIdx.
370 /// \param EndIdx The end index of the current prefix in the main string.
376 unsigned extend(unsigned EndIdx, unsigned SuffixesToAdd) {
384 Active.Idx = EndIdx;
387 assert(Active.Idx <= EndIdx && "Start index can't be after end index!");
395 insertLeaf(*Active.Node, EndIdx, FirstChar);
423 unsigned LastChar = Str[EndIdx];
459 insertLeaf(*SplitNode, EndIdx, LastChar);
481 Active.Idx = EndIdx - SuffixesToAdd + 1;
929 unsigned EndIdx = StartIdx + StringLen - 1;
954 [&StartIdx, &EndIdx](const Candidate &C) {
955 return (EndIdx < C.getStartIdx() ||
963 MachineBasicBlock::iterator EndIt = Mapper.InstrList[EndIdx];