190075Sobrien//===- llvm/ADT/SuffixTreeNode.cpp - Nodes for SuffixTrees --------*- C++ 290075Sobrien//-*-===// 396263Sobrien// 490075Sobrien// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 590075Sobrien// See https://llvm.org/LICENSE.txt for license information. 690075Sobrien// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 790075Sobrien// 890075Sobrien//===----------------------------------------------------------------------===// 990075Sobrien// 1090075Sobrien// This file defines nodes for use within a SuffixTree. 1190075Sobrien// 1290075Sobrien//===----------------------------------------------------------------------===// 1390075Sobrien 1490075Sobrien#include "llvm/Support/SuffixTreeNode.h" 1590075Sobrien#include "llvm/Support/Casting.h" 1690075Sobrien 1790075Sobrienusing namespace llvm; 1890075Sobrien 1990075Sobrienunsigned SuffixTreeNode::getStartIdx() const { return StartIdx; } 2090075Sobrienvoid SuffixTreeNode::incrementStartIdx(unsigned Inc) { StartIdx += Inc; } 2190075Sobrienvoid SuffixTreeNode::setConcatLen(unsigned Len) { ConcatLen = Len; } 2290075Sobrienunsigned SuffixTreeNode::getConcatLen() const { return ConcatLen; } 2390075Sobrien 2490075Sobrienbool SuffixTreeInternalNode::isRoot() const { 2590075Sobrien return getStartIdx() == EmptyIdx; 2690075Sobrien} 2790075Sobrienunsigned SuffixTreeInternalNode::getEndIdx() const { return EndIdx; } 2890075Sobrienvoid SuffixTreeInternalNode::setLink(SuffixTreeInternalNode *L) { 2990075Sobrien assert(L && "Cannot set a null link?"); 3090075Sobrien Link = L; 3190075Sobrien} 3290075SobrienSuffixTreeInternalNode *SuffixTreeInternalNode::getLink() const { return Link; } 3390075Sobrien 3490075Sobrienunsigned SuffixTreeLeafNode::getEndIdx() const { 3590075Sobrien assert(EndIdx && "EndIdx is empty?"); 3690075Sobrien return *EndIdx; 3790075Sobrien} 3890075Sobrien 3990075Sobrienunsigned SuffixTreeLeafNode::getSuffixIdx() const { return SuffixIdx; } 4090075Sobrienvoid SuffixTreeLeafNode::setSuffixIdx(unsigned Idx) { SuffixIdx = Idx; } 4190075Sobrien