228{
229
230
231
233 auto f = std::get<0>(iwType);
234 auto betaHat = std::get<1>(iwType);
235 if (f->arcLabel().size() == betaHat.size())
236 {
237
240 }
241
242
243
245
246 d->setPatternLeafCount(f->patternLeafCount());
247 d->addToPatternLeafCount(isFullPattern);
248 d->addToPatternLeafCount(f->isFullPattern());
249
250 auto w =
new SuffixTreeNode(d,
suffix(
s,d->label().size()),isFullPattern);
251
253 if (w->label().size() == 1)
254 return std::make_tuple(d,f,w);
255 else
256 return std::make_tuple(d,nullptr,w);
257}
Word suffix(const Word vec, int indexOfSuffix)
auto insertStepD(SuffixTreeNode *y, const Word &s, bool isFullPattern) -> InsertType
auto extendedLocus(SuffixTreeNode *x, const Word &beta) const -> ExtendedLocusType
auto splitArc(SuffixTreeNode *f, const Word &prefix) -> SuffixTreeNode *
void setSuffixLink(SuffixTreeNode *newSuffixLink)